:root{--rice:#F4F1E9;--sumi:#181916;--sage:#7B806C;--sage-d:#555a4b;--clay:#A56F57;--clay-d:#8a5844;--paper:#DDD6C8;--tint:#EDE9DE;--muted:#45453f;--pad:clamp(20px,5vw,72px);--serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--rice);color:var(--sumi);font-family:var(--serif);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--sumi);text-decoration:none}a:hover{color:var(--clay-d)}
::selection{background:var(--paper)}
:focus-visible{outline:1px solid var(--clay);outline-offset:3px}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p,figure,blockquote{margin:0}
[hidden]{display:none!important}
input,textarea,button{font:inherit;color:inherit}
em{font-style:italic;font-weight:200}
.header{position:sticky;top:0;z-index:40;background:rgba(244,241,233,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--paper)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px var(--pad)}
.brand{display:grid;gap:4px}
.brand-name{font-family:var(--sans);font-size:13px;letter-spacing:.28em;text-transform:uppercase}
.brand-tag{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-d)}
.nav{display:flex;gap:clamp(16px,2.2vw,34px);font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;margin-left:auto}
.nav-cta-m{display:none}
.header-right{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.lang{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;letter-spacing:.14em}
.lang a{color:var(--sage-d);padding:8px 2px}.lang .on{border-bottom:1px solid var(--sumi);padding:8px 2px}.lang .sep{color:var(--paper)}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.btn-dark{background:var(--sumi);color:var(--rice);min-height:42px;padding:0 16px;letter-spacing:.14em}.btn-dark:hover{background:var(--clay-d);color:var(--rice)}
.btn-light{background:var(--rice);color:var(--sumi)}.btn-light:hover{background:var(--paper);color:var(--sumi)}
.btn-ghost-light{border:1px solid rgba(244,241,233,.6);color:var(--rice)}.btn-ghost-light:hover{border-color:var(--rice);color:var(--rice);background:rgba(244,241,233,.1)}
.menu-btn{display:none;min-height:44px;padding:0 14px;border:1px solid var(--sumi);background:transparent;font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.hero{position:relative;height:min(90vh,880px);min-height:560px;display:flex;align-items:flex-end;color:var(--rice)}
.hero-img{position:absolute;inset:0;background:var(--sumi)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,25,22,.7) 0%,rgba(24,25,22,.16) 58%,rgba(24,25,22,.04) 100%)}
.hero-in{position:relative;width:100%;padding:clamp(32px,6vw,80px) var(--pad)}
.hero h1{font-weight:300;font-size:clamp(38px,6.4vw,92px);line-height:1.02;letter-spacing:-.02em;max-width:16ch;text-wrap:pretty}
.hero-sub{margin-top:clamp(20px,3vw,30px);font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:50ch}
.hero-line{margin-top:14px;font-size:clamp(18px,1.6vw,22px);font-style:italic;font-weight:200}
.hero .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:clamp(18px,3vw,30px)}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vw,44px)}
.rule{border-bottom:1px solid var(--paper)}
.anchor{scroll-margin-top:72px}
.display{font-weight:300;font-size:clamp(34px,5.4vw,80px);line-height:1.04;letter-spacing:-.02em;max-width:20ch;text-wrap:pretty}
.lead{margin-top:clamp(30px,5vw,60px);font-size:clamp(18px,1.5vw,21px);line-height:1.65;max-width:56ch;text-wrap:pretty}
.label{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-d);margin-bottom:clamp(24px,4vw,44px)}
.label-dark{color:#b7bca8}
.pad-label{padding:clamp(56px,8vw,100px) var(--pad) 0}
.letter{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay-d);margin-bottom:18px}
.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.between .letter{margin:0 0 18px}
.tag{padding:6px 10px;border:1px solid var(--sage);font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-d);margin-bottom:18px}
.h-xl{font-weight:300;font-size:clamp(32px,4.6vw,66px);line-height:1.04;letter-spacing:-.02em;max-width:20ch;text-wrap:pretty}
.h-lg{font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.06;letter-spacing:-.015em;max-width:20ch}
.h-md{font-weight:300;font-size:clamp(28px,3vw,42px);line-height:1.08}
.h-sm{font-weight:300;font-size:28px;line-height:1.1;margin-bottom:14px}
.h-step{font-size:25px;line-height:1.15;margin-bottom:12px}
.p-lead{margin-top:18px;font-size:20px;line-height:1.5;max-width:40ch}
.p-muted{margin-top:16px;font-size:18.5px;line-height:1.65;max-width:46ch;color:var(--muted)}.p-muted.big{font-size:19.5px;margin-top:26px}
.p-small{font-size:18px;line-height:1.6;color:var(--muted)}
.p-note{margin-top:clamp(28px,4vw,44px);font-size:18px;line-height:1.6;max-width:62ch;color:var(--sage-d)}
.p-dark{margin-top:22px;font-size:18.5px;line-height:1.7;max-width:48ch;color:rgba(244,241,233,.9)}
.mt{margin-top:clamp(30px,4vw,44px);margin-bottom:12px}.mt-s{margin-top:26px}
.ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 26px;margin:0;padding:0;list-style:none;font-family:var(--sans);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#33332e}
.ticks li{border-top:1px solid var(--paper);padding-top:10px}
.dots{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none;font-size:17px;line-height:1.45;color:#33332e}
.dots li::before{content:"·";color:var(--clay);margin-right:10px}
.media{position:relative;background:var(--paper);overflow:hidden}
.media.tall{min-height:min(80vh,760px)}
.media.ratio{aspect-ratio:4/3}
.media.portrait{aspect-ratio:3/4}
.media:not(:has(img)){display:none}
.gallery:not(:has(img)){display:none}
.show-slots .media:not(:has(img)){display:block}
.show-slots .gallery:not(:has(img)){display:grid}
.show-slots .media.tall:not(:has(img)){min-height:320px}
.show-slots .media:not(:has(img))::after{content:attr(data-label);position:absolute;left:16px;bottom:14px;right:16px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-d)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.split.tinted{background:var(--tint);border-top:1px solid var(--paper);border-bottom:1px solid var(--paper)}
.split-text{padding:clamp(56px,8vw,110px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.split.dark{background:var(--sumi);color:var(--rice)}.split.dark .media{background:#2a2b26}
.cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:1px;background:var(--paper)}
.cell{background:var(--rice)}
.cell-text{padding:clamp(40px,5vw,64px) clamp(20px,4vw,56px) clamp(44px,6vw,76px)}
.block{padding:clamp(70px,11vw,140px) var(--pad)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1px;margin-top:clamp(40px,6vw,80px);background:var(--paper);border-top:1px solid var(--paper);border-bottom:1px solid var(--paper)}
.block>.label+.grid4{margin-top:0}
.g-cell{background:var(--rice);padding:clamp(30px,3vw,42px) clamp(20px,2.4vw,32px) clamp(38px,4vw,54px)}
.num{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--clay-d);margin-bottom:18px}
.quote{font-size:clamp(26px,3vw,42px);line-height:1.24;letter-spacing:-.01em;max-width:28ch;text-wrap:pretty}
.note-it{margin-top:clamp(26px,4vw,40px);font-size:19px;font-style:italic;color:var(--sage-d)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(12px,1.6vw,22px);padding:clamp(20px,3vw,40px) var(--pad)}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(28px,4vw,56px)}
.quotes figure{padding-top:22px;border-top:1px solid var(--sumi)}
.quotes blockquote{font-size:22px;line-height:1.4}
.quotes figcaption{margin-top:18px;font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-d)}
.adapt{background:var(--tint)}
.adapt .h-xl{max-width:22ch}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(44px,7vw,110px);align-items:start}
.contact .display{font-size:clamp(36px,5vw,72px)}
.direct{display:grid;gap:12px;margin-top:clamp(34px,5vw,56px);padding-top:clamp(26px,4vw,40px);border-top:1px solid var(--paper)}
.direct .p-note{margin-top:14px;font-size:17px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:0 20px;font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.bar-dark{background:var(--sumi);color:var(--rice);border:0;cursor:pointer;width:100%;text-align:left}.bar-dark:hover{background:var(--clay-d);color:var(--rice)}
.bar-dark:disabled{opacity:.5;cursor:wait}
.bar-line{border:1px solid var(--sumi);background:transparent;cursor:pointer}.bar-line:hover{background:var(--sumi);color:var(--rice)}
.submit{min-height:60px;padding:0 22px}
.form{display:grid;gap:clamp(40px,6vw,60px)}
.form fieldset{margin:0;padding:0;border:0;display:grid;gap:28px;min-width:0}
.form legend{padding:0 0 18px;width:100%;border-bottom:1px solid var(--sumi);font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.field{display:grid;gap:8px}
.flabel{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-d)}
.qlabel{font-size:21px;line-height:1.35}
.hint{font-size:16px;color:var(--sage-d);line-height:1.5}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=number],.form input[type=date],.form input[type=time]{border:0;border-bottom:1px solid var(--sumi);background:transparent;padding:10px 0;font-size:19px;font-weight:300;border-radius:0;min-height:48px;width:100%;-webkit-appearance:none;appearance:none}
.form textarea{border:1px solid var(--paper);background:rgba(255,255,255,.4);padding:14px;font-size:18px;font-weight:300;border-radius:0;resize:vertical;width:100%;line-height:1.5}
.form input:disabled,.form textarea:disabled{opacity:.4}
.form ::placeholder{color:#8f8c81}
.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;margin-top:4px}
.options.inline{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}
.opt{position:relative;cursor:pointer;display:block}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;min-height:56px;padding:14px 16px;border:1px solid var(--paper);font-size:18px;line-height:1.3;background:rgba(255,255,255,.25)}
.opt:hover span{border-color:var(--clay)}
.opt input:checked+span{background:var(--sumi);border-color:var(--sumi);color:var(--rice)}
.opt input:focus-visible+span{outline:1px solid var(--clay);outline-offset:3px}
.check{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:17px;line-height:1.5}
.check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--sumi)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{color:var(--clay-d);font-size:17px}
.thanks{padding:clamp(36px,5vw,60px) 0;border-top:1px solid var(--sumi)}
.fine{font-size:15.5px;line-height:1.55;color:var(--sage-d)}.fine a{text-decoration:underline;text-underline-offset:3px}
.footer{border-top:1px solid var(--paper);padding:clamp(50px,7vw,90px) var(--pad) 96px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(30px,5vw,70px)}
.foot-line{margin-top:12px;font-size:18px}
.foot-nav{display:grid;gap:12px;font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.copy{margin-top:clamp(44px,7vw,80px);font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6f6d64;display:flex;flex-wrap:wrap;gap:6px 18px}
.copy a{color:#6f6d64}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;align-items:center;min-height:48px;padding:0 18px;background:var(--sumi);color:var(--rice);font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 6px 20px rgba(24,25,22,.18)}
.wa-float:hover{background:var(--clay-d);color:var(--rice)}
.cs{min-height:100vh;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}
.cs-top{display:flex;justify-content:flex-end;padding:20px var(--pad)}
.cs-main{display:grid;align-content:center;padding:clamp(40px,8vh,90px) var(--pad);max-width:1100px}
.cs-brand{font-family:var(--sans);font-size:clamp(14px,1.3vw,16px);letter-spacing:.3em;text-transform:uppercase}
.cs-tag{margin-top:10px;font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-d)}
.cs-rule{width:56px;height:1px;background:var(--sumi);margin:clamp(36px,7vh,70px) 0}
.cs-title{font-weight:300;font-size:clamp(40px,7vw,104px);line-height:1;letter-spacing:-.025em;max-width:14ch;text-wrap:pretty}
.cs-sub{margin-top:clamp(24px,4vh,36px);font-size:clamp(18px,1.7vw,22px);line-height:1.55;max-width:48ch;color:var(--muted)}
.cs-soon{margin-top:clamp(24px,4vh,36px);font-size:clamp(18px,1.7vw,22px);font-style:italic;font-weight:200}
.cs-actions{display:grid;gap:10px;margin-top:clamp(36px,6vh,56px);max-width:440px}
.cs-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:20px var(--pad);border-top:1px solid var(--paper);font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6f6d64}
.cs-foot a{color:#6f6d64}
.legal{max-width:760px;padding:clamp(60px,9vw,120px) var(--pad)}
.legal h1{font-weight:300;font-size:clamp(34px,4.6vw,58px);line-height:1.05;letter-spacing:-.015em}
.legal h2{font-weight:400;font-size:22px;margin:44px 0 12px}
.legal p,.legal li{font-size:18px;line-height:1.65;color:var(--muted)}
.legal p+p{margin-top:12px}
.legal ul{padding-left:20px;margin:10px 0}
.legal .upd{margin-top:18px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-d)}
.legal a{text-decoration:underline;text-underline-offset:3px}
.fill{background:#efe3c9;padding:0 4px}
@media (max-width:900px){
  .nav-cta{display:none}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--rice);border-bottom:1px solid var(--paper);font-size:13px}
  .nav.open{display:flex}
  .nav a{padding:18px var(--pad);border-top:1px solid var(--paper)}
  .nav .nav-cta-m{display:block;background:var(--sumi);color:var(--rice)}
}
.site-v{max-width:1180px;margin:0 auto;padding:0 clamp(22px,4.6vw,64px) 16px;font-family:var(--sans);font-size:10px;letter-spacing:.08em;color:#aaa497;text-align:right}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
