
:root{--ink:#2C2C2C;--text:#3A3A3A;--muted:#857F79;--rule:#D9D4CE;--stone:#EBE8E6;--paper:#F5F2EE;--bg:#FCFAF7;--bronze:#9A7B4F;--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,Arial,sans-serif;font-weight:300;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}
.c{font-family:"Libre Caslon Text",Georgia,serif;font-weight:400}
.lab{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:400}
.wrap{padding:0 var(--pad);max-width:1600px;margin:0 auto}
/* header */
header{position:sticky;top:0;z-index:20;background:rgba(252,250,247,.96);backdrop-filter:blur(6px)}
.hd{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:120px}
.hd nav{display:flex;gap:36px}.hd nav.r{justify-content:flex-end}
.hd nav a{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.hd nav a:hover,.hd nav a[aria-current]{border-color:var(--ink)}.hd nav a.cta{color:var(--bronze)}.hd nav a.cta:hover{border-color:var(--bronze)}
.wm{display:inline-flex;flex-direction:column;align-items:center;line-height:1;color:var(--ink)}
.wm .n{font-family:"Libre Caslon Text",Georgia,serif;font-size:26px;letter-spacing:.24em;margin-right:-.24em}
.wm .l{width:30px;height:1px;background:var(--bronze);margin:11px 0}.wm .s{font-size:8px;letter-spacing:.62em;margin-right:-.62em}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer;justify-self:end}.burger span{display:block;width:26px;height:1px;background:var(--ink);margin:6px 0}
.mnav{display:none}
@media(max-width:900px){.hd{grid-template-columns:auto 1fr auto;height:88px}.hd nav{display:none}.burger{display:block}.wm .n{font-size:20px}
.mnav.open{display:flex;flex-direction:column;gap:22px;padding:30px var(--pad) 40px;border-top:1px solid var(--rule)}.mnav a{font-size:13px;letter-spacing:.3em;text-transform:uppercase}}
/* blocks */
.hero{height:min(78vh,820px);margin:0 var(--pad)}
.intro{text-align:center;padding:clamp(70px,10vw,130px) var(--pad);max-width:960px;margin:0 auto}
.intro h1,.intro h2{font-size:clamp(32px,4vw,52px);line-height:1.2;color:var(--ink);margin:0}
.bl{width:60px;height:1px;background:var(--bronze);margin:40px auto}
.intro p{max-width:660px;margin:0 auto}
.more{display:inline-block;margin-top:34px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:6px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:0 var(--pad) 40px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;padding:0 var(--pad) 40px}
.tile .im{aspect-ratio:4/5;overflow:hidden}.tile .im img{transition:transform 1.2s ease}.tile:hover .im img{transform:scale(1.03)}
.tile p{margin:22px 0 0;text-align:center}.tile .t{margin:6px 0 0;text-align:center;font-size:21px;color:var(--ink);line-height:1.35}
.grid2 .tile .im{aspect-ratio:3/2}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center;padding:clamp(60px,8vw,110px) var(--pad)}
.split .im{aspect-ratio:4/5}.split h2{font-size:clamp(28px,3vw,40px);line-height:1.25;color:var(--ink);margin:18px 0 26px}
.band{background:var(--paper);padding:clamp(70px,9vw,120px) var(--pad);text-align:center}
.band h2{font-size:clamp(30px,3.6vw,46px);color:var(--ink);margin:0;line-height:1.2}
.btn{display:inline-block;margin-top:34px;border:1px solid var(--ink);padding:16px 30px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);transition:all .2s}.btn:hover{background:var(--ink);color:var(--bg)}
.steps{max-width:980px;margin:0 auto;padding:0 var(--pad) 40px}.st{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:34px 0;border-top:1px solid var(--rule)}.st:last-child{border-bottom:1px solid var(--rule)}
.st .num{font-family:"Libre Caslon Text",Georgia,serif;font-size:30px;color:var(--bronze);line-height:1.2}.st h3{margin:0 0 8px;font-family:"Libre Caslon Text",Georgia,serif;font-weight:400;font-size:24px;color:var(--ink)}.st p{margin:0}
.ph{padding:clamp(50px,7vw,90px) var(--pad) clamp(40px,5vw,70px);text-align:center}.ph h1{font-size:clamp(34px,4.4vw,58px);color:var(--ink);margin:18px 0 0;line-height:1.15}
.prose{max-width:720px;margin:0 auto;padding:0 var(--pad) 60px}.prose h2{font-family:"Libre Caslon Text",Georgia,serif;font-weight:400;font-size:28px;color:var(--ink);margin:50px 0 14px}
form{max-width:720px;margin:0 auto;display:grid;gap:22px;padding:0 var(--pad)}
label{display:grid;gap:8px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
input,textarea,select{font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--bg);border:0;border-bottom:1px solid var(--rule);padding:12px 2px;border-radius:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}textarea{min-height:150px;resize:vertical}
button.btn{background:none;cursor:pointer;justify-self:start;font-family:inherit}
.contactrow{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center;max-width:960px;margin:0 auto;padding:0 var(--pad) 70px}.contactrow p{margin:8px 0 0;color:var(--ink)}
footer{background:var(--stone);margin-top:0;padding:70px var(--pad) 40px;text-align:center}
footer .fn{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:34px 0}footer .fn a{font-size:12px;letter-spacing:.3em;text-transform:uppercase}
footer .legal{font-size:12px;line-height:1.8;color:var(--muted);max-width:760px;margin:30px auto 0}
.fade{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}.fade.in{opacity:1;transform:none}
@media(max-width:900px){.grid3,.grid2,.split,.contactrow{grid-template-columns:1fr}.split .im{order:-1}.hero{height:62vh;margin:0}.st{grid-template-columns:56px 1fr}}
