@font-face{font-family:"JB Serif";font-weight:400 700;font-style:normal;font-display:swap;src:url(/assets/fonts/jb-serif.woff) format("woff")}@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-400.woff) format("woff")}@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-500.woff) format("woff")}

:root{--bg:#F6F2EB;--alt:#EAE3D6;--tx:#2A2826;--mu:#655E54;--ev:#2A2826;--evt:#F6F2EB;--br:#8B7350;--ln:#D6CDBD;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:#1B1A18;--alt:#242220;--tx:#EDE8DE;--mu:#B5AEA2;--ev:#EDE8DE;--evt:#1B1A18;--br:#C2A878;--ln:#3A3631}}
:root[data-theme="dark"]{--bg:#1B1A18;--alt:#242220;--tx:#EDE8DE;--mu:#B5AEA2;--ev:#EDE8DE;--evt:#1B1A18;--br:#C2A878;--ln:#3A3631}
*,*::before,*::after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--tx);font:400 16px/1.75 Poppins,system-ui,sans-serif}
h1,h2,h3{font-family:"JB Serif",Georgia,serif;font-weight:500;line-height:1.1;margin:0 0 .5em;color:var(--ev)}
h1{font-size:clamp(2.6rem,7vw,4.6rem)}h2{font-size:clamp(1.9rem,4vw,2.7rem)}h3{font-size:1.45rem}
p{margin:0 0 1em;max-width:62ch}a{color:var(--ev)}
:focus-visible{outline:3px solid var(--br);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.sec{padding:clamp(56px,9vw,112px) 0}.alt{background:var(--alt)}
header{border-bottom:1px solid var(--ln)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;flex-wrap:wrap}
.logo{font:500 1.35rem "JB Serif",Georgia,serif;letter-spacing:.14em;text-decoration:none;color:var(--ev)}
nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;color:var(--tx);padding:10px 2px;border-bottom:1px solid transparent}
nav a[aria-current=page],nav a:hover{border-bottom-color:var(--br)}
.btn{display:inline-block;min-height:44px;padding:11px 26px;border:1px solid var(--ev);background:var(--ev);color:var(--evt);text-decoration:none;border-radius:2px;font-weight:500;letter-spacing:.03em;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .25s,color .25s}
.btn:hover{background:transparent;color:var(--ev)}.btn.o{background:transparent;color:var(--ev)}.btn.o:hover{background:var(--ev);color:var(--evt)}
nav .btn{color:var(--evt);border-bottom:1px solid var(--ev)}nav .btn:hover{color:var(--ev)}
.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,80px);align-items:center}
.arch{border-radius:999px 999px 0 0;background:var(--alt);border:1px solid var(--ln);aspect-ratio:3/4;display:flex;align-items:flex-end;justify-content:center;padding:28px;text-align:center;color:var(--mu);font-size:.9rem;max-width:380px;margin-left:auto;width:100%}
.alt .arch{background:var(--bg)}
.note{color:var(--mu);font-size:.95rem}
.ph{background:rgba(138,106,59,.16);border-bottom:1px dashed var(--br);padding:0 3px;border-radius:2px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln)}
.steps>div{padding:28px 28px 8px 0}.steps>div+div{border-left:1px solid var(--ln);padding-left:28px}
.steps b{font:500 2.2rem "JB Serif",Georgia,serif;color:var(--br);display:block;line-height:1}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{border:1px solid var(--ln);padding:32px;background:var(--bg)}.alt .card{background:var(--bg)}
table{width:100%;border-collapse:collapse;margin:10px 0 0}td,th{text-align:left;padding:10px 0;border-bottom:1px solid var(--ln);font-weight:400}td:last-child,th:last-child{text-align:right}
th{color:var(--mu);font-size:.9rem}
details{border-top:1px solid var(--ln);padding:16px 0}details:last-of-type{border-bottom:1px solid var(--ln)}
summary{cursor:pointer;font:500 1.25rem "JB Serif",Georgia,serif;color:var(--ev);min-height:44px}
details p{margin:10px 0 0}
label{display:block;font-weight:500;margin:16px 0 6px}
input,textarea,select{width:100%;font:inherit;padding:12px;border:1px solid var(--mu);background:var(--bg);color:var(--tx);border-radius:2px}
#msg{margin-top:14px;padding:12px;border-left:3px solid var(--br);background:var(--alt);display:none}
footer{border-top:1px solid var(--ln);padding:48px 0;font-size:.92rem;color:var(--mu)}footer p{max-width:70ch}
dl{margin:12px 0 0;display:grid;grid-template-columns:max-content 1fr;gap:6px 22px}dt{font-weight:500;color:var(--ev)}dd{margin:0}@media(max-width:760px){dl{grid-template-columns:1fr;gap:0}dd{margin-bottom:10px}}
.hero2{padding:clamp(40px,7vw,96px) 0 clamp(56px,9vw,120px);border-bottom:1px solid var(--ln)}
.hg{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:end}
.ht h1{font-size:clamp(3rem,8vw,6rem);letter-spacing:-.01em}.lead{font-size:1.15rem;max-width:46ch}
.loc{display:flex;align-items:center;gap:12px;color:var(--mu);margin:0 0 28px}.loc::before{content:"";width:40px;height:1px;background:var(--br)}
.frame{position:relative;aspect-ratio:4/5;background:linear-gradient(180deg,var(--alt),var(--bg));border:1px solid var(--ln);display:flex;align-items:flex-end;padding:20px;color:var(--mu);font-size:.9rem;overflow:hidden}
.frame::before{content:"";position:absolute;left:0;right:0;top:46%;height:1px;background:var(--mu);opacity:.5}
.frame::after{content:"";position:absolute;left:12%;right:12%;top:calc(46% - 18px);height:18px;background:repeating-linear-gradient(90deg,var(--br) 0 1px,transparent 1px 9px);opacity:.7}
.frame>span{position:relative;z-index:1}
.pr,.q{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ln)}.q{grid-template-columns:repeat(3,1fr)}
.pr>div,.q>blockquote{padding:28px 24px 8px 0;margin:0}.pr>div+div,.q>blockquote+blockquote{border-left:1px solid var(--ln);padding-left:24px}
.q>blockquote{font:400 1.4rem/1.35 "JB Serif",Georgia,serif;color:var(--ev)}.q cite{display:block;margin-top:14px;font:400 .92rem Poppins,sans-serif;color:var(--mu);font-style:normal}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tri figure{margin:0}.tri .frame{aspect-ratio:3/4}.tri .frame::before,.tri .frame::after{display:none}.tri figcaption{padding-top:14px}
.cta{text-align:center}.cta h2{font-size:clamp(2.4rem,6vw,4.4rem)}.cta p{margin:0 auto 1.4em}.cta .row{justify-content:center}
.fact{border-top:1px solid var(--ln);padding:12px 0}
.ht>*{animation:rise .8s ease both}.ht>:nth-child(2){animation-delay:.08s}.ht>:nth-child(3){animation-delay:.16s}.ht>:nth-child(4){animation-delay:.24s}
@media(prefers-reduced-motion:reduce){.ht>*{animation:none}}
@media(max-width:760px){.hg,.pr,.q,.tri{grid-template-columns:1fr}.pr>div+div,.q>blockquote+blockquote{border-left:0;border-top:1px solid var(--ln);padding-left:0}nav{gap:4px 16px;font-size:.95rem}}
.logo{display:inline-flex;flex-direction:column;gap:7px}.logo img{align-self:flex-start}
.tag{display:flex;align-items:center;gap:10px;font:400 .66rem Poppins,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--mu)}
.tag::before,.tag::after{content:"";flex:1;height:1px;background:var(--br)}
.logo img{display:block;height:54px;width:auto}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:brightness(0) invert(.92)}}
:root[data-theme="dark"] .logo img{filter:brightness(0) invert(.92)}
@media(max-width:760px){.logo img{height:44px}}
.arch.photo{border-color:transparent;padding:0;overflow:hidden;position:relative}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.frame.photo{background-size:cover;background-position:center;background-repeat:no-repeat;border:0;padding:0}.frame.photo::before,.frame.photo::after{display:none}.hero-photo{aspect-ratio:3/2}
.hero2{padding-top:clamp(24px,4vw,56px)}
.hero2 .hg{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:0}
.hero2 .hero-photo{grid-column:3/-1;grid-row:1;width:100%;aspect-ratio:16/10}
.hero2 .ht{grid-column:1/8;grid-row:1;z-index:2;background:var(--bg);padding:clamp(28px,4vw,52px) clamp(28px,4vw,52px) 0 0}
.hero2 .ht h1{font-size:clamp(2.6rem,5.2vw,4.7rem)}
@media(max-width:760px){.hero2 .hg{display:block}.hero2 .hero-photo{aspect-ratio:4/3}.hero2 .ht{padding:28px 0 0}.hero2 .ht h1{font-size:clamp(2.4rem,11vw,3.4rem)}}
.hero2 .hg{display:block}
.hero2 .ht{display:grid;grid-template-columns:1.25fr .75fr;gap:0 clamp(28px,5vw,72px);align-items:end;background:none;padding:0 0 clamp(28px,4vw,48px)}
.hero2 .ht h1{grid-row:1/3;grid-column:1;margin:0}
.hero2 .ht .lead{grid-column:2;grid-row:1;align-self:end;margin:0 0 20px}
.hero2 .ht .row{grid-column:2;grid-row:2;margin-top:0}
.hero2 .hero-photo{aspect-ratio:2/1}
@media(max-width:760px){.hero2 .ht{display:block;padding:0 0 28px}.hero2 .ht h1{margin-bottom:.4em}.hero2 .ht .lead{margin-bottom:1em}.hero2 .hero-photo{aspect-ratio:4/3}}
header{padding-top:clamp(18px,3vw,36px)}
.pts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln);margin-top:36px}
.pts>div{padding:28px 28px 8px 0}.pts>div+div{border-left:1px solid var(--ln);padding-left:28px}
@media(max-width:760px){.pts{grid-template-columns:1fr}.pts>div+div{border-left:0;border-top:1px solid var(--ln);padding-left:0}}
main ul{max-width:62ch;padding-left:1.2em;margin:0 0 1em}main li{margin-bottom:.5em}
.steps.s4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.steps.s4{grid-template-columns:1fr 1fr}.steps.s4>div:nth-child(3){border-left:0;padding-left:0}.steps.s4>div:nth-child(n+3){border-top:1px solid var(--ln)}}
@media(max-width:760px){.steps.s4{grid-template-columns:1fr}.steps.s4>div+div{border-left:0;padding-left:0;border-top:1px solid var(--ln)}}
main ol{max-width:62ch;padding-left:1.4em;margin:0 0 1em}main ol li{margin-bottom:.7em}
h1,h2,h3{font-weight:400}h1{font-size:clamp(2.1rem,5.6vw,3.7rem)}h2{font-size:clamp(1.6rem,3.3vw,2.2rem)}h3{font-size:1.2rem}
summary{font-size:1.08rem;font-weight:400}.steps b{font-size:1.9rem;font-weight:400}.cta h2{font-size:clamp(1.9rem,4.8vw,3.2rem)}
.hero2 .ht h1{font-size:clamp(2.1rem,4.5vw,3.7rem)}
@media(max-width:760px){.hero2 .ht h1{font-size:clamp(2rem,9.5vw,2.8rem)}}
.bar{display:none}

@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero{animation:rise .7s ease both}
@media(prefers-reduced-motion:reduce){.hero{animation:none}.btn{transition:none}}
@media(max-width:760px){.split,.cards,.steps{grid-template-columns:1fr}.arch{margin:0 auto;max-width:300px}.steps>div+div{border-left:0;border-top:1px solid var(--ln);padding-left:0}
.bar{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--ln);z-index:9}.bar .btn{width:100%;text-align:center}body{padding-bottom:76px}}
.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:12px;top:12px;z-index:30;background:var(--bg);color:var(--tx);padding:10px 16px;border:2px solid var(--br)}
.frame.photo,.arch.photo{position:relative;overflow:hidden}
.frame.photo img,.arch.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-photo img{object-position:50% 58%}.arch.photo img{object-position:50% 18%}
.tri .frame.photo img{object-position:50% 50%}
@media(max-width:760px){header nav .btn{display:none}}
