@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Instrument+Sans:wght@400;500;600&display=swap');

:root{--cream:#EEE8DD;--cream2:#F7F2EA;--plum:#3B2731;--terra:#C36C4F;--terra-accessible:#9E4E37;--taupe:#A89B92;--ink:#2f262b;--muted:#70666b;--line:rgba(59,39,49,.16);--white:#fffaf5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Instrument Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}h1,h2,h3{font-family:"Fraunces",serif;color:var(--plum);margin:0;font-weight:600}.shell{width:min(1220px,92vw);margin:auto}
.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--terra-accessible)}p{line-height:1.75}.header{position:sticky;top:0;z-index:50;background:rgba(238,232,221,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.nav{height:88px;display:grid;grid-template-columns:115px 1fr auto;align-items:center;gap:28px}.logo{height:64px;overflow:visible;display:flex;align-items:center}.logo img{width:118px;max-width:none;transform:none}.menu{display:flex;justify-content:center;gap:28px;font-size:13px}.menu a{padding:8px 0;border-bottom:1px solid transparent}.menu a:hover,.menu a.active{border-color:var(--terra)}
.cta{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:var(--terra-accessible);color:white;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;border:1px solid var(--terra-accessible);transition:.22s}.cta:hover{transform:translateY(-2px)}.cta.alt{background:transparent;color:var(--plum);border-color:var(--plum)}
.page-hero{padding:115px 0 92px;border-bottom:1px solid var(--line)}.page-hero .inner{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:end}.page-hero h1{font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.05em;max-width:860px}.page-hero .intro{font-size:18px;color:var(--muted);max-width:560px}.hero-art{height:420px;overflow:hidden;box-shadow:0 26px 55px rgba(59,39,49,.12)}.hero-art img{height:100%;object-fit:cover}
.section{padding:95px 0}.section.alt{background:var(--cream2)}.section.plum{background:var(--plum);color:white}.section.plum h2,.section.plum h3{color:white}.section h2{font-size:clamp(42px,4.7vw,66px);line-height:.98;letter-spacing:-.04em}.section h3{font-size:28px}.lede{font-size:20px;color:var(--plum);line-height:1.55}.muted{color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.four{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rule{border-top:1px solid var(--line);padding-top:22px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{border:1px solid var(--line);padding:34px;background:rgba(255,255,255,.22)}.card h3{margin-bottom:12px}.card p{color:var(--muted)}.card .meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);margin-top:22px}
.service-row{display:grid;grid-template-columns:48px 1fr auto;gap:22px;align-items:start;padding:34px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.num{font-size:11px;color:var(--terra-accessible);letter-spacing:.12em}.service-row h2{font-size:42px}.service-row p{max-width:720px;color:var(--muted)}.arrow{font-size:22px;color:var(--terra)}
.detail-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px}.detail-grid aside{position:sticky;top:110px}.facts{display:grid;gap:12px;margin-top:24px}.fact{padding:14px 0;border-top:1px solid var(--line);font-size:13px}.include{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:28px 0}.include div{border-top:1px solid var(--line);padding-top:12px;font-size:14px}
.steps{display:grid;gap:0}.step{display:grid;grid-template-columns:90px 1fr .8fr;gap:35px;padding:34px 0;border-top:1px solid var(--line)}.step:last-child{border-bottom:1px solid var(--line)}.step .n{font-family:"Fraunces";font-size:35px;color:var(--terra)}.step small{color:var(--muted);line-height:1.6}
.portfolio-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.portfolio-art{min-height:390px;overflow:hidden}.portfolio-art img{height:100%;min-height:390px;object-fit:cover}
.portfolio-list{display:grid;gap:18px}.project-placeholder{display:grid;grid-template-columns:1fr auto;gap:30px;padding:26px 0;border-top:1px solid var(--line);align-items:center}.project-placeholder:last-child{border-bottom:1px solid var(--line)}.project-placeholder h3{font-size:31px}.project-placeholder p{margin:5px 0;color:var(--muted);font-size:13px}.project-placeholder span{font-size:12px;color:var(--terra)}
.contact-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.contact-panel h2{font-size:clamp(48px,5vw,72px)}.contact-side{background:var(--plum);color:white;padding:36px}.contact-side h3{color:white}.contact-side a{color:white;text-decoration:underline}
.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:"Fraunces";font-size:23px;color:var(--plum)}.faq p{max-width:860px;color:var(--muted)}
.final{background:var(--terra);color:white;padding:80px 0}.final h2{color:white;font-size:clamp(48px,5.2vw,76px);line-height:.96;letter-spacing:-.045em;max-width:900px}.final p{font-size:17px;max-width:720px}.final .cta{background:white;color:var(--plum);border-color:white}
footer{background:#271820;color:#f1e7e2;padding:48px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px}footer h4{font-family:"Fraunces";font-size:23px;margin:0 0 10px}footer p,footer a{font-size:12px;color:#cfc3c8}footer nav{display:grid;gap:8px}.foot-bottom{margin-top:34px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:#a99ca2}
@media(max-width:900px){.menu{display:none}.nav{height:82px;grid-template-columns:1fr auto}.page-hero .inner,.two,.three,.four,.cards,.detail-grid,.portfolio-intro,.contact-panel{grid-template-columns:1fr}.detail-grid aside{position:static}.step{grid-template-columns:55px 1fr}.step small{grid-column:2}.include{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.page-hero{padding:82px 0 65px}.page-hero h1{font-size:49px}.section{padding:72px 0}.service-row{grid-template-columns:34px 1fr auto}.service-row h2{font-size:32px}.project-placeholder{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}



.port-hero{padding:105px 0 80px}
.port-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:78px;align-items:center}
.port-hero h1{font-size:clamp(54px,5.8vw,82px);line-height:.94;letter-spacing:-.05em}
.port-hero p{font-size:18px;color:var(--muted)}
.portfolio-mood{height:460px;overflow:hidden;box-shadow:0 26px 60px rgba(59,39,49,.12)}
.portfolio-mood img{height:100%;object-fit:cover}
.project-listing{display:grid;gap:18px}
.project-row{display:grid;grid-template-columns:260px 1fr auto;gap:30px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}
.project-row:last-child{border-bottom:1px solid var(--line)}
.project-thumb{height:150px;overflow:hidden;background:var(--cream2)}
.project-thumb img{height:100%;object-fit:cover}
.project-row h3{font-size:30px;margin-bottom:6px}
.project-row p{font-size:14px;color:var(--muted);margin:0}
.project-row span{font-size:12px;color:var(--terra-accessible)}
@media(max-width:900px){.port-hero-grid,.project-row{grid-template-columns:1fr}.project-thumb{height:220px}}