:root{--bg:#f5f0e8;--ink:#1e2a24;--ch:#8a4b2a;--mut:#7b766c}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:Jost,system-ui,sans-serif;font-weight:300;font-size:18px;line-height:1.7}
a{color:inherit}
img{display:block;max-width:100%}
.left{position:fixed;top:0;left:0;width:50%;height:100vh;overflow:hidden;background:#1e2a24}
.lim{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.1s ease,transform 2.2s ease}
.lim.on{opacity:1;transform:scale(1)}
.left:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(0,0,0,.55))}
.cap{position:absolute;left:40px;bottom:34px;z-index:2;color:#fff;display:flex;align-items:baseline;gap:18px}
.cap span:first-child{font-family:"Playfair Display",serif;font-size:64px;font-style:italic;line-height:1}
.cap span:last-child{text-transform:uppercase;letter-spacing:.3em;font-size:13px;font-weight:400}
.right{margin-left:50%;width:50%;padding:0 7vw}
.mast{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;background:linear-gradient(var(--bg) 75%,rgba(245,240,232,0));}
.logo{height:40px;width:auto}
.mast nav{display:flex;gap:22px;align-items:center;font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:400}
.mast nav a{text-decoration:none;position:relative}
.mast nav a:not(.call):after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--ch);transition:right .35s}
.mast nav a:hover:after{right:0}
.call{border:1px solid var(--ink);padding:8px 16px;border-radius:99px;transition:background .3s,color .3s}
.call:hover{background:var(--ink);color:var(--bg)}
.chap{min-height:100vh;padding:12vh 0 10vh;border-bottom:1px solid #dcd3c3}
.issue,.kick{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ch);font-weight:400;margin-bottom:28px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;line-height:1.1}
h1{font-size:clamp(40px,4.4vw,72px);margin-bottom:40px}
h1 em,h2 em{color:var(--ch)}
h2{font-size:clamp(34px,3.4vw,54px);margin-bottom:32px}
.dropcap:first-letter{float:left;font-family:"Playfair Display",serif;font-size:84px;line-height:.8;padding:8px 12px 0 0;color:var(--ch)}
.figs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--ink)}
.figs div{padding-top:16px;font-size:14px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}
.figs b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:48px;color:var(--ink);letter-spacing:0;line-height:1.2}
.pull{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(24px,2.2vw,32px);line-height:1.35;margin:40px 0;padding-left:28px;border-left:2px solid var(--ch)}
.pull.sm{font-size:22px}
.pull cite{display:block;font-family:Jost;font-style:normal;font-size:14px;color:var(--mut);margin-top:10px}
.feat{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.feat li{padding:12px 0;border-bottom:1px solid #dcd3c3}
.steps{display:grid;gap:34px}
.steps article{display:grid;grid-template-columns:60px 1fr;column-gap:10px;transition:transform .4s}
.steps article:hover{transform:translateX(8px)}
.steps span{grid-row:span 2;font-family:"Playfair Display",serif;font-style:italic;font-size:34px;color:var(--ch);line-height:1}
.steps h3{font-size:28px;margin-bottom:6px}
.menu div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid #dcd3c3;transition:padding .3s,background .3s}
.menu div:hover{padding-left:12px;padding-right:12px;background:rgba(138,75,42,.06)}
.menu dt{font-family:"Playfair Display",serif;font-size:22px}
.menu small{display:block;font-family:Jost;font-size:14px;color:var(--mut)}
.menu dd{font-family:"Playfair Display",serif;font-size:24px;white-space:nowrap}
.fine{font-size:14px;color:var(--mut);margin-top:22px}
#f{display:grid;gap:18px;margin:30px 0}
#f label{display:flex;flex-direction:column;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--mut)}
#f input,#f select{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font:inherit;font-size:18px;color:var(--ink)}
#f button{justify-self:start;background:var(--ink);color:var(--bg);border:0;padding:15px 34px;font:inherit;font-size:14px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s}
#f button:hover{background:var(--ch)}
.ok{color:var(--ch)}
address{font-style:normal;margin-top:20px}
footer{margin-top:60px;font-size:13px;color:var(--mut)}
.mob{display:none}
.demo{position:fixed;left:14px;top:14px;z-index:50;background:#f5f0e8;box-shadow:0 1px 6px rgba(0,0,0,.15);color:var(--ink);font-size:11px;padding:5px 11px;border-radius:99px;text-decoration:none}
.chap>*{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}
.chap.in>*{opacity:1;transform:none}
.chap.in>*:nth-child(2){transition-delay:.08s}.chap.in>*:nth-child(3){transition-delay:.16s}.chap.in>*:nth-child(4){transition-delay:.24s}.chap.in>*:nth-child(n+5){transition-delay:.32s}
@media (max-width:900px){
 .left{display:none}.right{margin:0;width:100%;padding:0 22px}
 .mob{display:block;width:calc(100% + 44px);max-width:none;margin:0 -22px 30px;aspect-ratio:4/3;object-fit:cover}
 .chap{min-height:0;padding:60px 0}
 .mast nav a:not(.call){display:none}.logo{height:32px}
 .demo{top:auto;bottom:12px}
 .feat{grid-template-columns:1fr}.figs b{font-size:38px}
}
@media (prefers-reduced-motion:reduce){.lim,.chap>*{transition:none!important;transform:none!important}.chap>*{opacity:1}}
.mast{flex-wrap:wrap;row-gap:10px}.logo{height:36px;max-width:100%;min-width:0;object-fit:contain;object-position:left}
@media (max-width:900px){.mast{flex-wrap:nowrap}.logo{max-width:calc(100% - 120px);height:auto}}
