:root{--bg:#f6f3ee;--ink:#1f1c18;--mute:#6f665a;--line:#ddd5c8;--brass:#a98a52;--card:#ebe5db;--wall:#e4ddd0;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171513;--ink:#efe9de;--mute:#b3a893;--line:#35312b;--card:#24211d;--wall:#2a2620}}
:root[data-theme="dark"]{--bg:#171513;--ink:#efe9de;--mute:#b3a893;--line:#35312b;--card:#24211d;--wall:#2a2620}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bg);color:var(--ink);font:300 17px/1.8 Jost,"Helvetica Neue",Arial,sans-serif}
h1,h2,h3,.disp{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;line-height:1}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;gap:26px;padding:16px 5vw;background:var(--bg);overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.03em}
nav a{color:var(--mute);text-decoration:none}
nav a:hover,nav a:focus-visible{color:var(--ink);outline:none;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:6px}
nav b{font:500 23px "Cormorant Garamond",serif;margin-right:auto;color:var(--ink)}
/* hero: fluted wall strip + arched photo */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:end;padding:8vh 5vw 10vh;min-height:90vh;
background:repeating-linear-gradient(90deg,var(--wall) 0 14px,transparent 14px 20px) left/32vw 100% no-repeat}
.hero em{font:italic 400 clamp(26px,3vw,42px)/1 "Cormorant Garamond",serif;color:var(--brass);display:block;margin-bottom:14px}
.hero h1{font-size:clamp(62px,9vw,140px);font-weight:300;text-transform:uppercase;letter-spacing:-.01em}
.hero p{margin-top:28px;max-width:34ch;color:var(--mute)}
.arch{border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:3/4;max-height:80vh;justify-self:end;width:min(100%,520px);animation:rise 1.1s ease both}
.arch img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.arch{animation:none}html{scroll-behavior:auto}}
.sec{padding:11vh 5vw;border-top:1px solid var(--line)}
h2{font-size:clamp(40px,5.2vw,76px);font-weight:300}
h2::after{content:"";display:block;width:64px;height:2px;background:var(--brass);margin-top:22px}
.lead{max-width:60ch;margin:26px 0 38px}.lead+.lead{margin-top:-14px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.scope{list-style:none;padding:0;margin-top:30px}
.scope li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}
.scope span{color:var(--mute)}
.pal{display:flex;gap:10px;margin-top:34px}.pal i{width:60px;height:60px;display:block}
.cap{font-size:14px;color:var(--mute);margin:0 0 10px;letter-spacing:.03em}
.g{display:grid;gap:18px;margin-bottom:30px}
.g.c2{grid-template-columns:repeat(2,1fr)}.g.c3{grid-template-columns:repeat(3,1fr)}.g.c3w{grid-template-columns:1.1fr 1fr 1fr}
.g figure{background:var(--card);overflow:hidden;cursor:zoom-in}
.g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.g figure:hover img{transform:scale(1.03)}
.g.p figure{aspect-ratio:3/4}.g.p figure:first-child{border-radius:999px 999px 0 0}
.g.l figure{aspect-ratio:4/3}
.g.d figure{aspect-ratio:auto;background:#fff;padding:14px}.g.d img{height:auto;object-fit:contain}
.g figcaption{font-size:14px;color:var(--mute);padding:10px 4px 0}
.g.d figure{display:flex;flex-direction:column}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:5vw;align-items:start}
.split .lead{margin-top:26px}
.mood{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.mood .col{display:grid;gap:18px}.mood img{width:100%;height:100%;object-fit:cover;display:block}
.mood figure{cursor:zoom-in;overflow:hidden}
.plans figure{background:#fff;padding:16px;cursor:zoom-in}.plans img{width:100%;display:block}
footer{padding:12vh 5vw 8vh;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--mute);font-size:15px}
footer .disp{font-size:44px;color:var(--ink)}
#lb{position:fixed;inset:0;background:rgba(18,16,14,.95);display:none;align-items:center;justify-content:center;z-index:20;padding:4vw}
#lb.on{display:flex}#lb img{max-width:100%;max-height:100%;object-fit:contain;background:#fff0}
#lb button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:18px;background:none;border:1px solid #888;color:#eee;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer}
@media(max-width:800px){.hero,.cols,.split,.mood{grid-template-columns:1fr}.hero{min-height:auto;background-size:100% 120px}
.arch{justify-self:start;max-height:none}.g.c3,.g.c3w{grid-template-columns:1fr 1fr}.g.c3>figure:first-child,.g.c3w>figure:first-child{grid-column:span 2}
.g.c2{grid-template-columns:1fr}.sec{padding:8vh 5vw}}
