
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/ebg.woff) format('woff')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/ebgi.woff) format('woff')}
html{font-size:100%;scroll-padding-top:100px}html:has(.subnav){scroll-padding-top:150px}
:root{--moss:#22382F;--moss-d:#1B2D25;--bronze:#7A5A32;--bronze-lt:#C9A774;--paper:#F4F1E8;--paper-d:#EAE5D8;--ink:#1F1F1C;--grey:#46463F;--line:#DCD4C2}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper)}
body{font-family:'EB Garamond',Georgia,serif;color:var(--ink);font-size:1.25rem;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:oldstyle-nums}
a{color:var(--moss)}img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.dark :focus-visible,footer :focus-visible{outline-color:var(--paper)}
.in{max-width:1160px;margin:0 auto;padding:0 32px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:9}
header.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5;transition:transform .25s ease,box-shadow .2s}
header.top .in{transition:transform .2s ease}header.top .brand img{transition:width .2s ease}
header.top.slim{box-shadow:0 6px 18px rgba(31,31,28,.05)}
[id]{scroll-margin-top:90px}
header.top .in{display:flex;align-items:center;justify-content:space-between;height:96px;gap:24px}
header.top .brand img{width:200px;height:auto;display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center;font-size:1.156rem}
nav a{text-decoration:none;color:#33332D}nav a:hover,nav a[aria-current]{color:var(--moss);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--bronze);text-decoration-thickness:1.5px}
.cta{background:var(--moss);color:var(--paper)!important;padding:10px 18px;border-radius:2px;text-decoration:none!important}
.cta:hover{background:var(--moss-d)}
details.menu{display:none}
.eb{font-variant-caps:all-small-caps;font-size:1.188rem;letter-spacing:.14em;color:var(--bronze);margin:0 0 16px;font-variant-numeric:lining-nums}
h1,h2,h3{font-weight:400;margin:0;color:var(--moss)}
h1{font-size:clamp(2.625rem,6.4vw,4.875rem);line-height:1.03;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic}
h2{font-size:clamp(2rem,4vw,2.875rem);line-height:1.1}
h3{font-size:clamp(1.562rem,2.6vw,1.938rem);line-height:1.18}
p{margin:0 0 18px}
.lead{font-size:clamp(1.25rem,2.3vw,1.438rem);color:var(--grey);max-width:34em}
.btn{display:inline-block;background:var(--moss);color:var(--paper);text-decoration:none;padding:14px 26px;font-size:1.188rem;border-radius:2px}
.btn{transition:background .15s}.btn:hover{background:var(--moss-d)}
.acts{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
p,.lead{text-wrap:pretty}h1,h2,.bigline,blockquote{text-wrap:balance}
.split>div:first-child{position:sticky;top:40px;align-self:start}
h2.eb{font-size:1.188rem;line-height:1.4;font-weight:400}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:1.156rem}
.svc .acts{margin-top:28px}
.others{display:flex;gap:14px 32px;flex-wrap:wrap;margin-top:8px}
header.top .cta.m{display:none}
@media(min-width:961px){header.top .right{display:none}}
.subnav a[aria-current]{color:var(--moss);text-decoration:underline;text-decoration-color:var(--bronze);text-underline-offset:5px}
.btn.light{background:var(--paper);color:var(--moss)}.btn.light:hover{background:#fff}.btn:hover{background:#2E4A3E}
.link{color:var(--moss);text-decoration:none;border-bottom:1px solid var(--bronze);padding-bottom:2px;transition:border-color .15s}.link:hover{border-bottom-color:var(--moss)}
.sec{padding:104px 0}.sec.tint{background:var(--paper-d)}.sec.dark{background:var(--moss);color:var(--paper)}
.sec.dark h2{color:var(--paper)}
.hero{padding:88px 0 96px}
.hero .in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center}
.hero h1{margin-bottom:28px}.hero .lead{margin-bottom:36px}
.hero .acts{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.portrait{margin:0;position:relative;max-width:440px;justify-self:end}
.portrait img{width:100%;height:auto;display:block}
.portrait:after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,167,116,.75);pointer-events:none}
.portrait figcaption{font-style:italic;font-size:1rem;color:var(--grey);margin-top:12px;text-align:right}
.hero .art svg{width:100%;height:auto;display:block}
.hero .art figcaption{font-style:italic;font-size:1rem;color:var(--grey);margin-top:10px;text-align:right}
.stat{background:var(--moss);color:var(--paper)}
.stat .in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}
.stat .big{font-size:clamp(2.25rem,3.6vw,3.25rem);line-height:1.05;text-wrap:balance;color:var(--bronze-lt);font-variant-numeric:lining-nums}
.stat .big small{display:block;white-space:normal;font-size:1.188rem;color:#D9D1BE;margin-top:12px;line-height:1.4}
.stat ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.stat li{border-left:1px solid var(--bronze-lt);padding-left:18px}
.stat strong{display:block;font-weight:400;font-size:1.312rem;line-height:1.25}
.stat span{display:block;font-size:1.062rem;color:#D9D1BE;line-height:1.45;margin-top:6px}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px}
.timeline{border-top:1px solid var(--line)}
.timeline div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.timeline b{font-weight:400;font-size:1.312rem;color:var(--bronze);font-variant-numeric:lining-nums}
.timeline strong{display:block;font-weight:400;font-size:1.312rem}
.timeline span{font-size:1.094rem;color:var(--grey);line-height:1.45;display:block;margin-top:4px}
.timeline.num div{grid-template-columns:36px 1fr}
.index{margin-top:44px;border-top:1px solid var(--line)}
.index a{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1.1fr) 40px;gap:28px;align-items:baseline;padding:30px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .15s}
.index a:hover{background:var(--paper-d)}.tint .index a:hover{background:var(--paper)}.index a:hover .arr{transform:translateX(4px)}.index .arr{transition:transform .15s}
.index .num{font-size:1.875rem;color:var(--bronze);font-variant-numeric:lining-nums}
.index h3{font-size:clamp(1.562rem,2.6vw,2rem)}
.index p{margin:0;color:var(--grey);font-size:1.156rem}
.index .arr{font-size:1.625rem;color:var(--bronze);text-align:right}
.quote{text-align:center;padding:112px 0}
.quote blockquote{margin:0 auto;font-style:italic;font-size:clamp(1.75rem,3.8vw,2.875rem);line-height:1.28;color:var(--moss);max-width:880px;position:relative}
.quote blockquote:before{content:"\201C"/"";position:static;display:block;margin:0 auto -.3em;font-size:2.4em;color:var(--bronze-lt);font-style:normal;line-height:1}
.quote cite{display:block;margin-top:26px;font-style:normal;font-variant-caps:all-small-caps;font-size:1.188rem;letter-spacing:.14em;color:var(--bronze)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:44px;border-top:1px solid var(--bronze-lt);padding-top:28px}
.steps .n{font-size:3.25rem;line-height:1;color:var(--bronze);font-variant-numeric:lining-nums}
.steps strong{display:block;font-weight:400;font-size:1.5rem;margin:10px 0 6px}
.steps p{color:var(--grey);font-size:1.156rem}
.band{text-align:center}.band .in{display:flex;flex-direction:column;align-items:center;gap:20px}
.band .bigline{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.2;max-width:760px;margin:0;color:var(--paper)}
.band p.sub{color:#D9D1BE;max-width:620px;margin:0}
.pagehead{padding:92px 0 60px}.pagehead h1{max-width:940px;margin-bottom:24px}
.subnav{position:sticky;top:64px;transition:top .25s ease;z-index:4;background:var(--paper);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:34px;overflow-x:auto;height:58px;align-items:center;font-size:1.094rem;white-space:nowrap}
.subnav a{text-decoration:none;color:#33332D;display:block;padding:12px 0}.subnav b{font-weight:400;color:var(--bronze);margin-right:8px}
.svc{padding:92px 0;scroll-margin-top:140px}.svc.tint{background:var(--paper-d)}
.svc .in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px}
.svc .q{font-style:italic;color:var(--moss);font-size:clamp(1.438rem,2.4vw,1.688rem);line-height:1.35;border-left:2px solid var(--bronze-lt);padding-left:20px;margin:24px 0}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 22px}
.chip{border:1px solid var(--bronze);color:var(--bronze);letter-spacing:.02em;font-size:1.062rem;padding:3px 12px;border-radius:2px;font-variant-numeric:lining-nums}
.svc ul,.deliv ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc li,.deliv li{padding:12px 0;border-bottom:1px solid var(--line);font-size:1.156rem}
.deliv{margin-top:34px}
.std{font-size:1.031rem;color:var(--grey);margin-top:22px}
.tbl{width:100%;border-collapse:collapse;font-size:1.156rem;margin-top:28px}
.tbl th,.tbl td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:500;color:var(--moss);font-size:1.062rem}
.list3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}
.list3 h3{font-size:1.5rem;margin-bottom:12px}.list3 p{font-size:1.156rem;color:var(--grey)}
.box{padding:30px;border:1px solid var(--line);background:var(--paper)}
.box p{font-size:1.156rem;color:var(--grey);margin:0}
.credlist{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:28px;column-gap:28px}
.credlist li{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.156rem}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-size:1.312rem;color:var(--moss);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--bronze)}.faq summary:after{content:"+"/"";color:var(--bronze);font-size:1.625rem;line-height:1}.faq details[open] summary:after{content:"\2212"/""}
.faq details p{margin:12px 0 0;color:var(--grey);font-size:1.156rem}
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
footer{background:var(--moss-d);color:#D9D1BE;padding:56px 0 44px;font-size:1.031rem;line-height:1.6}
footer .row{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
footer img{width:180px;height:auto;display:block;margin-bottom:14px}
footer a{color:#EAE2CF;text-decoration:none}footer a:hover{text-decoration:underline}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
footer h2{font-size:0.9375rem;font-variant-caps:all-small-caps;letter-spacing:.14em;color:var(--bronze-lt);margin:0 0 10px;font-weight:400}
footer .contactl{margin-top:14px}
footer .legal{border-top:1px solid #35483F;margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;font-size:0.9688rem;color:#C4BCA9}
@media(min-width:961px){
 header.top{top:-32px}
 header.top.slim .in{transform:translateY(16px)}header.top.slim .brand img{width:156px}
}
@media(max-width:960px){
 header.top .in{height:64px}header.top .brand img{width:150px}
 header.top.hide{transform:translateY(-100%)}
 body.hdr-hidden .subnav{top:0}
 .svc{scroll-margin-top:130px}
 html.menu-open{overflow:hidden}
 nav.full{display:none}
 details.menu{display:block;position:relative}
 details.menu summary{list-style:none;cursor:pointer;font-size:1.125rem;color:var(--moss);border:1px solid var(--line);padding:8px 14px;border-radius:2px;min-height:44px;display:flex;align-items:center}
 details[open].menu summary{background:var(--paper-d)}
 header.top .cta.m{display:inline-block;font-size:1.062rem;padding:9px 14px}
 header.top .right{display:flex;gap:10px;align-items:center}
 details.menu summary::-webkit-details-marker{display:none}
 details.menu ul{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);list-style:none;margin:0;padding:20px 0;display:flex;flex-direction:column;gap:0;overflow:auto}
 details.menu a{display:block;padding:14px 32px;text-decoration:none;color:var(--ink);font-size:1.625rem}
 details.menu a[aria-current]{color:var(--moss);text-decoration:underline;text-decoration-color:var(--bronze);text-underline-offset:5px}
 .split>div:first-child{position:static}
 .subnav ul{mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}
 .svc p,.pagehead .lead,.sec p{max-width:36em}
 .steps{gap:28px}.steps .n{font-size:2.5rem}
 .hero .in,.split,.svc .in,.contactgrid,.stat .in{grid-template-columns:1fr;gap:32px}
 .hero .art{max-width:520px}
 .stat ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stat strong{font-size:1.188rem}
 .steps,.list3{grid-template-columns:1fr}
 .index a{grid-template-columns:36px 1fr 22px;gap:6px 12px;padding:24px 4px}.index .num{grid-row:1/3;font-size:1.5rem}.index h3{grid-column:2}.index p{grid-column:2}.index .arr{display:block;grid-column:3;grid-row:1;font-size:1.375rem}
 .portrait{max-width:340px;justify-self:start}
 .sec{padding:72px 0}.quote{padding:96px 0}
 .quote blockquote:before{position:static;display:block;margin-bottom:-0.3em}
}
@media(max-width:560px){
 .in{padding:0 20px}header.top .in{gap:10px}header.top .brand img{width:144px}
 header.top .cta.m{font-size:1rem;padding:9px 11px;white-space:nowrap}details.menu summary{padding:8px 11px;font-size:1.062rem}
 header.top .right{gap:8px}
 .hero{padding:36px 0 56px}.pagehead{padding:44px 0 32px}
 h1{font-size:clamp(2.25rem,10vw,2.625rem)}.hero h1{margin-bottom:20px}.hero .lead{margin-bottom:28px}
 .eb{line-height:1.35}
 .portrait{max-width:230px}.about-portrait{max-width:210px}
 footer ul{gap:0}footer ul a,footer .legal a{display:inline-block;padding:10px 0}footer .row{gap:28px}
 .link{display:inline-block;padding:8px 0 2px}
 .stat ul{grid-template-columns:1fr}.timeline div{grid-template-columns:1fr;gap:2px}.timeline.num div{grid-template-columns:30px 1fr;gap:10px}.credlist{grid-template-columns:1fr}
 .eb{font-size:1.062rem;letter-spacing:.1em}
 footer .legal{flex-direction:column}
}
@media(max-width:400px){header.top .brand img{width:132px}header.top .cta.m{font-size:0.9375rem;padding:9px 9px}}
@media(prefers-reduced-motion:reduce){header.top,header.top .in,header.top .brand img,.subnav{transition:none}header.top.hide{transform:none}}
@media(max-width:560px){details.menu a{padding:14px 20px}}
@media print{
 header.top,.subnav,.skip,details.menu,.acts .btn,.sec.dark.band,.others{display:none!important}
 body{font-size:12pt;background:#fff;color:#000}
 .sec,.svc,.pagehead,.hero,.stat{padding:14pt 0!important;background:none!important;color:#000!important}
 .stat *{color:#000!important}
 .svc .in,.split,.hero .in,.contactgrid,.stat .in{grid-template-columns:1fr!important;gap:12pt}
 .split>div:first-child{position:static}
 .svc,.faq details,.tbl tr,.timeline div,.index a{break-inside:avoid}
 .portrait{max-width:160px}
 footer{background:none;color:#000;padding:12pt 0}footer img{display:none}footer a,footer .legal{color:#000}
 main a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt}
}
