@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root{
  --ink:#3f4439; --muted:#707466; --paper:#fbf8f0; --paper2:#f1eee3;
  --sage:#7d9b79; --terracotta:#c87858; --gold:#d7b963; --line:#ded9c9;
  --max:1180px; --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65}
img{max-width:100%;display:block} a{color:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:850px}
.topbar{font-size:.9rem;padding:10px 20px;text-align:right;border-bottom:1px solid var(--line);background:#fffdf8}
.topbar a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;gap:35px}.brand{text-decoration:none;line-height:1.05;font-size:1.05rem;letter-spacing:.04em}.brand strong{font-size:1.35rem}
.menu{display:flex;gap:24px;margin-left:auto}.menu a{text-decoration:none;font-size:.92rem}.menu a:hover{text-decoration:underline}
.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:transparent;padding:9px 13px;border-radius:999px}
.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;background:linear-gradient(120deg,#f3ead8 0%,#fbf8f0 60%)}
.hero-copy{grid-column:1;grid-row:1;z-index:2;padding-top:50px;padding-bottom:50px}.hero-art{grid-column:2;grid-row:1;height:100%;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--sage);margin:0 0 12px}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.1;margin:.2em 0 .55em}h1{font-size:clamp(3rem,6vw,5.5rem);max-width:800px}h2{font-size:clamp(2.1rem,4vw,3.3rem)}h3{font-size:1.35rem;line-height:1.2;margin:.7rem 0}.quote{font-family:Georgia,serif;font-size:1.2rem;color:var(--muted);margin-bottom:2rem}
.button{display:inline-block;background:var(--terracotta);color:white;text-decoration:none;border:0;border-radius:999px;padding:13px 22px;font-weight:700;cursor:pointer}.button:hover{transform:translateY(-1px)}
.section{padding:110px 0}.section-alt{background:var(--paper2)}.intro{text-align:center}.lead{font-size:1.25rem}.feature-image{width:100%;border-radius:var(--radius);margin-top:30px}
.section-heading{max-width:720px;margin-bottom:42px}.cards{display:grid;gap:22px}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;overflow:hidden}.card img{border-radius:16px;aspect-ratio:4/3;object-fit:cover}.card p{color:var(--muted);font-size:.94rem;padding:0 5px 8px}
.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.space-card{display:grid;grid-template-columns:1fr;gap:20px}.space-card img{width:100%;border-radius:var(--radius);aspect-ratio:16/10;object-fit:cover}.space-card p{color:var(--muted)}
.services-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.services-layout .feature-image{margin:0}
.service-list{padding:0;margin:25px 0 0;list-style:none}.service-list li{padding:15px 0 15px 30px;border-bottom:1px solid var(--line);position:relative}.service-list li:before{content:"✦";position:absolute;left:3px;color:var(--terracotta)}
.recognition{background:#dfe7d9}.testimonials{display:grid;gap:20px;margin-top:45px}.testimonials blockquote{margin:0;padding:25px 28px;background:rgba(255,255,255,.55);border-radius:18px}.testimonials p{font-family:Georgia,serif;font-size:1.15rem;margin-top:0}.testimonials cite{font-style:normal;font-size:.88rem;color:var(--muted)}
.contact{background:#f5e9d8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-form{display:grid;gap:18px}.contact-form label{font-size:.9rem;font-weight:600}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cfc8b8;border-radius:12px;padding:12px 13px;background:#fffdf9;font:inherit;color:var(--ink)}.contact-form textarea{resize:vertical}.form-note,.form-status{font-size:.82rem;color:var(--muted);margin:0}.footer{padding:30px 0;background:#42483e;color:#f6f1e6;font-size:.85rem}

@media(max-width:900px){
  .cards.four{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{grid-column:1;grid-row:1;height:420px;order:0}.hero-copy{grid-column:1;grid-row:2;padding:70px 20px}.hero-copy.container{width:min(calc(100% - 40px),var(--max))}
  .services-layout,.contact-grid,.space-grid{grid-template-columns:1fr;gap:45px}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}.nav{min-height:70px}.menu-toggle{display:block}.menu{display:none;position:absolute;left:14px;right:14px;top:70px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:18px;flex-direction:column;box-shadow:0 15px 40px rgba(0,0,0,.08)}.menu.open{display:flex}
  .cards.four{grid-template-columns:1fr}.section{padding:75px 0}h1{font-size:3rem}.hero-art{height:300px}.topbar{text-align:center}
}
