/* Kantekt v2: boutique remodeler. Fraunces (display) + Outfit (UI). */
@font-face{font-family:"Outfit";src:url(/fonts/outfit-var.woff2?v=2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces.woff2?v=2) format("woff2");font-weight:300 500;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-italic.woff2?v=2) format("woff2");font-weight:300 500;font-style:italic;font-display:swap}
:root{
 --cream:#F6F1EA;--paper:#FBF8F3;--stone:#E9E1D6;--sand:#CDBFAE;--clay:#8C7B6B;
 --char:#1D2224;--ink:#2B3033;--muted:#5F5A55;--line:#DCD2C5;--line-d:rgba(255,255,255,.18);
 --teal:#0A6E7D;--teal-d:#0B4E58;--teal-dd:#08363D;--copper:#DC7C34;--copper-t:#A2551D;
 --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 --max:1240px;--gut:clamp(20px,5vw,56px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--sans);font-weight:350;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;padding-bottom:70px;-webkit-font-smoothing:antialiased}
@media(min-width:760px){body{padding-bottom:0}}
img{max-width:100%;display:block}
svg{display:block}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3{font-family:var(--serif);font-weight:350;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em;color:var(--char)}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h3{font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:400}
em{font-style:italic}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:200}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.label{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}
.label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.label.light{color:#E9DCCB}
.lede{font-size:1.14rem;color:var(--muted);max-width:36em}
.rule{height:1px;background:var(--line);border:0;margin:0}
.grain{position:relative}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;background:url(/assets/grain.webp) repeat;opacity:.5}

/* buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 30px;border-radius:2px;font:inherit;font-weight:500;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.btn svg{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-cream{background:var(--cream);color:var(--char)}
.btn-cream:hover{background:#fff}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-d)}
.btn-line{border-color:currentColor;color:var(--char);background:transparent}
.btn-line:hover{background:var(--char);color:var(--cream);border-color:var(--char)}
.btn-line.light{color:#fff}
.btn-line.light:hover{background:#fff;color:var(--char);border-color:#fff}
.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--teal-d);padding-bottom:6px;background:linear-gradient(currentColor,currentColor) 0 100%/30% 1px no-repeat;transition:background-size .5s var(--ease)}
.tlink:hover{background-size:100% 1px}
.tlink.light{color:#fff}

/* header */
.site-head{position:fixed;top:0;left:0;right:0;z-index:80;color:#fff;transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.preview-bar{background:rgba(29,34,36,.82);color:#EBDCC8;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:5px 12px}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;max-width:1400px;margin:0 auto;padding:0 var(--gut)}
.logo{display:block;position:relative;width:122px;height:42px}
.logo img{position:absolute;inset:0;height:42px;width:auto;transition:opacity .4s}
.logo .l-color{opacity:0}
.nav{display:none;gap:34px;align-items:center}
.nav a{text-decoration:none;font-size:.8rem;font-weight:450;letter-spacing:.16em;text-transform:uppercase;opacity:.92;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.head-r{display:flex;align-items:center;gap:22px}
.head-call{display:none;text-decoration:none;font-size:.95rem;font-weight:450;letter-spacing:.04em}
.head-cta{min-height:44px;padding:0 20px;font-size:.76rem;border-color:rgba(255,255,255,.7);color:#fff}
.head-cta:hover{background:#fff;color:var(--char)}
@media(min-width:1000px){.nav{display:flex}.head-call{display:inline}}
@media(max-width:520px){.head-cta{display:none}.head-call{display:inline;font-size:.92rem}}
.site-head.solid{background:rgba(251,248,243,.96);backdrop-filter:blur(10px);color:var(--char);box-shadow:0 1px 0 var(--line)}
.site-head.solid .l-white{opacity:0}.site-head.solid .l-color{opacity:1}
.site-head.solid .head-cta{border-color:var(--char);color:var(--char)}
.site-head.solid .head-cta:hover{background:var(--char);color:var(--cream)}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#2a2622}
.hero picture,.hero .hero-img{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-img{object-fit:cover;object-position:50% 50%;transform-origin:60% 40%;animation:kb 26s ease-out forwards}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,20,21,.55) 0%,rgba(18,20,21,.08) 28%,rgba(18,20,21,.18) 50%,rgba(18,20,21,.82) 100%),linear-gradient(90deg,rgba(18,20,21,.45),transparent 65%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:150px var(--gut) clamp(40px,8vh,80px)}
.hero h1{color:#fff;font-size:clamp(2.6rem,7.2vw,6rem);font-weight:300;line-height:1.02;max-width:12.5em;margin-bottom:.35em;text-wrap:balance}
.hero h1 .sub{display:block;font-style:italic;font-size:.46em;line-height:1.25;margin-top:.45em;color:#EFE4D6;font-weight:300}
.hero p.intro{font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:34em;color:#F1EAE0;font-weight:300}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-top:30px}
.hero-foot{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;margin-top:clamp(36px,7vh,72px);padding-top:20px;border-top:1px solid var(--line-d);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#E8DCCC}
.hero-foot .dot{display:inline-block;width:7px;height:7px;background:var(--copper);transform:rotate(45deg);margin-right:12px;vertical-align:1px}
.hero-foot a{text-decoration:none}
@media(max-width:640px){.hero-ctas .btn{width:100%}.hero-foot .places{display:none}}

/* statement */
.statement{padding:clamp(80px,12vw,160px) 0 clamp(60px,9vw,120px)}
.statement-grid{display:grid;gap:28px}
@media(min-width:900px){.statement-grid{grid-template-columns:1fr 2.6fr;gap:60px}}
.statement p.big{font-family:var(--serif);font-weight:300;font-size:clamp(1.65rem,3.4vw,2.85rem);line-height:1.22;color:var(--char);letter-spacing:-.01em;margin:0}
.statement p.big em{color:var(--teal)}
.statement .meta{font-size:.92rem;color:var(--muted);margin-top:30px;max-width:40em}

/* services */
.services{padding-bottom:clamp(70px,10vw,140px)}
.svc-head{display:grid;gap:18px;margin-bottom:clamp(36px,6vw,64px);align-items:end}
@media(min-width:900px){.svc-head{grid-template-columns:1.3fr 1fr;gap:60px}}
.svc-feature{display:grid;gap:clamp(36px,5vw,56px)}
@media(min-width:860px){.svc-feature{grid-template-columns:1.25fr 1fr;align-items:start}.svc-feature .svc:nth-child(2){margin-top:140px}}
.svc{display:block}
.svc .ph{position:relative;overflow:hidden;background:var(--stone);aspect-ratio:4/5}
.svc-feature .svc:first-child .ph{aspect-ratio:5/6}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc:hover .ph img{transform:scale(1.045)}
.svc .tag{position:absolute;left:18px;top:18px;background:rgba(251,248,243,.92);color:var(--char);font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px}
.svc .cap{padding-top:24px;max-width:30em}
.svc .num{font-family:var(--serif);font-style:italic;color:var(--copper-t);font-size:1rem;margin-bottom:8px;display:block}
.svc p{color:var(--muted)}
.svc-row{display:grid;gap:40px;margin-top:clamp(60px,8vw,110px)}
@media(min-width:760px){.svc-row{grid-template-columns:repeat(3,1fr);gap:32px}}
.svc-row .ph{aspect-ratio:4/3}
.svc-row h3{font-size:1.5rem}
.svc-more{margin-top:clamp(50px,7vw,80px);display:grid;gap:26px;padding-top:30px;border-top:1px solid var(--line)}
@media(min-width:860px){.svc-more{grid-template-columns:1fr 1fr;gap:60px}}
.svc-more p{color:var(--muted);margin:0;font-size:.98rem}
.svc-more strong{font-weight:500;color:var(--char)}

/* winter band */
.winter{position:relative;color:#fff;overflow:hidden;background:#33302c}
.winter picture,.winter .bg{position:absolute;inset:0;width:100%;height:100%}
.winter .bg{object-fit:cover;object-position:50% 40%}
.winter::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(14,22,24,.82) 0%,rgba(14,22,24,.55) 45%,rgba(14,22,24,.1) 100%)}
.winter-in{position:relative;z-index:2;padding:clamp(90px,13vw,170px) var(--gut);max-width:var(--max);margin:0 auto}
.winter h2{color:#fff;max-width:11em;font-weight:300}
.winter ul{list-style:none;padding:0;margin:26px 0 36px;max-width:30em}
.winter li{padding:14px 0;border-top:1px solid var(--line-d);color:#EDE5DA;display:flex;gap:16px}
.winter li:last-child{border-bottom:1px solid var(--line-d)}
.winter li span{font-family:var(--serif);font-style:italic;color:#E9B78C;min-width:2em}

/* materials */
.materials{padding:clamp(80px,12vw,160px) 0;background:var(--cream)}
.mat-grid{display:grid;gap:40px}
@media(min-width:900px){.mat-grid{grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}}
.mat-imgs{position:relative;padding-bottom:18%}
.mat-imgs .a{aspect-ratio:4/5;overflow:hidden}
.mat-imgs .b{position:absolute;right:-4%;bottom:0;width:52%;aspect-ratio:1/1;overflow:hidden;border:10px solid var(--cream)}
.mat-imgs img{width:100%;height:100%;object-fit:cover}
.mat-list{display:grid;gap:0;margin:34px 0 30px}
@media(min-width:600px){.mat-list{grid-template-columns:1fr 1fr;column-gap:40px}}
.mat-list div{padding:18px 0;border-top:1px solid var(--line)}
.mat-list dt{font-family:var(--serif);font-size:1.3rem;color:var(--char);margin-bottom:4px}
.mat-list dd{margin:0;color:var(--muted);font-size:.96rem}

/* process / standard */
.standard{padding:clamp(80px,12vw,160px) 0}
.std-head{display:grid;gap:18px;margin-bottom:clamp(40px,6vw,70px)}
@media(min-width:900px){.std-head{grid-template-columns:1.3fr 1fr;gap:60px;align-items:end}}
.steps{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--char)}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{padding:30px 0 34px;border-bottom:1px solid var(--line)}
@media(min-width:900px){.steps li{padding:34px 34px 10px 0;border-bottom:0}.steps li+li{padding-left:30px;border-left:1px solid var(--line)}}
.steps .n{font-family:var(--serif);font-weight:300;font-size:3.4rem;line-height:1;color:var(--teal);display:block;margin-bottom:22px}
.steps h3{font-size:1.4rem}
.steps p{color:var(--muted);margin:0;font-size:.98rem}
.promises{display:grid;gap:0;margin-top:clamp(50px,7vw,90px);background:var(--char);color:#E9E2D8}
@media(min-width:860px){.promises{grid-template-columns:repeat(3,1fr)}}
.promises div{padding:34px 32px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:860px){.promises div{border-bottom:0;border-right:1px solid rgba(255,255,255,.1)}.promises div:last-child{border-right:0}}
.promises h3{color:#fff;font-size:1.3rem;margin-bottom:.4em}
.promises p{margin:0;font-size:.95rem;color:#C9C1B6}

/* area */
.area{background:var(--teal-dd);color:#E6EEEE;padding:clamp(80px,11vw,150px) 0;position:relative;overflow:hidden}
.area::after{content:"";position:absolute;right:-12vw;top:50%;width:62vw;max-width:820px;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}
.area-grid{display:grid;gap:40px;position:relative;z-index:1}
@media(min-width:900px){.area-grid{grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}}
.area h2{color:#fff}
.area p{color:#BFD3D5}
.towns{list-style:none;padding:0;margin:0}
.towns li{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.15;color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.towns li small{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#E9B78C}

/* about */
.about{padding:clamp(80px,12vw,160px) 0}
.about-grid{display:grid;gap:44px}
@media(min-width:900px){.about-grid{grid-template-columns:1fr 1fr;gap:90px;align-items:center}}
.about .ph{aspect-ratio:5/4;overflow:hidden}
.about .ph img{width:100%;height:100%;object-fit:cover}
.about .soon{margin-top:34px;padding:20px 0 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.about .soon b{font-weight:500;color:var(--char);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;display:block;margin-bottom:6px}

/* quote */
.quote-sec{background:var(--cream)}
.quote-grid{display:grid}
@media(min-width:1000px){.quote-grid{grid-template-columns:.9fr 1.1fr;min-height:100vh}}
.quote-img{position:relative;min-height:340px;overflow:hidden;background:var(--stone)}
.quote-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.quote-img .over{position:absolute;left:0;right:0;bottom:0;padding:40px var(--gut);color:#fff;background:linear-gradient(transparent,rgba(18,20,21,.75));z-index:1}
.quote-img .over p{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:300;line-height:1.2;max-width:15em}
@media(min-width:1000px){.quote-img .sticky{position:sticky;top:0;height:100vh}}
.quote-body{padding:clamp(60px,8vw,110px) var(--gut)}
.quote-body .inner{max-width:640px}
.contact-row{display:flex;flex-wrap:wrap;gap:12px 28px;margin:18px 0 38px;font-size:.98rem}
.contact-row a{text-decoration:none;border-bottom:1px solid var(--sand);padding-bottom:2px}
.contact-row a:hover{border-color:var(--teal);color:var(--teal-d)}
form.quote{margin:0}
.row{display:grid;gap:0 26px}
@media(min-width:640px){.row.two{grid-template-columns:1fr 1fr}}
.row>*,.quote-grid>*,.area-grid>*,.about-grid>*,.mat-grid>*,.svc-feature>*,.statement-grid>*{min-width:0}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}
.field label,.field legend{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.opt{text-transform:none;letter-spacing:0;font-weight:350;color:var(--clay);font-size:.82rem}
input[type=text],input[type=tel],input[type=email],select,textarea{font:inherit;font-size:16px;font-weight:400;width:100%;min-height:50px;padding:10px 0;border:0;border-bottom:1px solid #B9AC9B;border-radius:0;background:transparent;color:var(--char);transition:border-color .3s}
select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235F5A55' stroke-width='1.4'/%3E%3C/svg%3E") right 4px center no-repeat;padding-right:24px}
textarea{min-height:110px;resize:vertical;border:1px solid #B9AC9B;padding:12px 14px;margin-top:8px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 1px 0 0 var(--teal)}
textarea:focus{box-shadow:none;outline:1px solid var(--teal)}
fieldset{border:0;padding:0;margin:0 0 24px}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
@media(min-width:640px){.chips{grid-template-columns:repeat(3,1fr)}}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:8px 10px;border:1px solid #C9BCAB;font-size:.95rem;cursor:pointer;transition:all .3s var(--ease);background:rgba(255,255,255,.4)}
.chip span:hover{border-color:var(--char)}
.chip input:checked+span{background:var(--char);border-color:var(--char);color:var(--cream)}
.chip input:focus-visible+span{outline:2px solid var(--copper);outline-offset:2px}
.check{display:flex;gap:14px;align-items:flex-start;margin:10px 0;font-size:.93rem;color:var(--muted);text-transform:none!important;letter-spacing:0!important;font-weight:350!important}
.check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--teal)}
.file-drop{border:1px dashed #B9AC9B;padding:16px;color:var(--muted);font-size:.93rem;margin-top:8px}
.file-drop input{font:inherit;font-size:.9rem;width:100%}
.file-drop input::file-selector-button{font:inherit;font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--char);background:transparent;color:var(--char);padding:10px 16px;margin-right:14px;cursor:pointer}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs img{width:72px;height:72px;object-fit:cover;border:1px solid var(--line)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-direction:column;gap:16px;margin-top:14px}
.form-foot .btn{width:100%}
@media(min-width:640px){.form-foot{flex-direction:row;align-items:center;gap:28px}.form-foot .btn{width:auto}}
.small{font-size:.88rem;color:var(--muted)}
.msg{display:none;padding:18px 20px;margin-bottom:22px;font-weight:400}
.msg.ok{display:block;background:#E8F0EC;color:#1F4A36;border-left:2px solid #2F7A57}
.msg.err{display:block;background:#F8E9E4;color:#7A2618;border-left:2px solid #B4432C}
.field.invalid input,.field.invalid select{border-color:#B4432C}
.field .errtxt{color:#A23A24;font-size:.84rem;display:none;text-transform:none;letter-spacing:0}
.field.invalid .errtxt{display:block}
form.quote.done>*:not(.msg):not(.btn){display:none}
form.quote.done .msg{font-size:1.15rem;font-family:var(--serif);padding:26px}

/* footer */
.site-foot{background:var(--char);color:#BDB5AA;padding:clamp(70px,10vw,120px) 0 30px;font-size:.95rem}
.site-foot a{text-decoration:none;color:#EDE6DC}
.site-foot a:hover{color:#fff}
.foot-top{display:grid;gap:30px;padding-bottom:clamp(50px,7vw,80px);border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:900px){.foot-top{grid-template-columns:1.5fr 1fr;align-items:end}}
.foot-top h2{color:#F4EDE3;font-size:clamp(2.2rem,5vw,4rem);margin:0}
.foot-top h2 em{color:#E9B78C}
.foot-phone{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3vw,2.4rem)}
@media(min-width:900px){.foot-top .r{text-align:right}}
.foot-grid{display:grid;gap:34px;padding-top:50px}
@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.site-foot h3{font-family:var(--sans);color:#8F877C;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-foot .flogo img{height:40px;width:auto;margin-bottom:18px}
.copy{margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#8F877C;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* mobile action bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1.4fr;background:var(--char);padding-bottom:env(safe-area-inset-bottom);transform:translateY(110%);transition:transform .5s var(--ease)}
.mbar.show{transform:none}
.mbar a{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:#fff;font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.mbar a+a{background:var(--teal)}
.mbar svg{width:17px;height:17px}
@media(min-width:760px){.mbar{display:none}}

/* legal */
.legal-hero{background:var(--char);color:#fff;padding:170px 0 70px}
.legal-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:300;margin:0}
.legal{max-width:780px;padding-top:60px;padding-bottom:90px}
.legal h2{font-size:1.7rem;margin-top:1.8em}
.legal li{margin:.4em 0}
.legal .meta{color:var(--muted)}
.legal a{color:var(--teal-d)}

/* reveal motion */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js [data-reveal="fade"]{transform:none}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal][data-d="1"]{transition-delay:.12s}.js [data-reveal][data-d="2"]{transition-delay:.24s}.js [data-reveal][data-d="3"]{transition-delay:.36s}
.js .ph[data-reveal] img{transform:scale(1.08);transition:transform 1.8s var(--ease)}
.js .ph[data-reveal].in img{transform:scale(1)}
.js .svc:hover .ph[data-reveal].in img{transform:scale(1.045)}
.hero .hero-in>*{animation:rise 1.2s var(--ease) both}
.hero .hero-in>*:nth-child(2){animation-delay:.12s}.hero .hero-in>*:nth-child(3){animation-delay:.24s}.hero .hero-in>*:nth-child(4){animation-delay:.36s}.hero .hero-in>*:nth-child(5){animation-delay:.5s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js [data-reveal]{opacity:1;transform:none}
 .js .ph[data-reveal] img{transform:none}
}
[data-head=solid] .site-head{background:rgba(251,248,243,.96);color:var(--char);box-shadow:0 1px 0 var(--line)}
[data-head=solid] .site-head .l-white{opacity:0}[data-head=solid] .site-head .l-color{opacity:1}
[data-head=solid] .site-head .head-cta{border-color:var(--char);color:var(--char)}
.foot-sub{margin:6px 0 0}
/* v3 fixes */
@media(min-width:1000px){.quote-img .sticky{position:absolute;inset:0;height:auto}}
.field label.check{font-size:.93rem;color:var(--muted)}
.field label.chip{font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--char);font-weight:400}
.statement .meta{font-size:1rem}
.winter::before{background:linear-gradient(90deg,rgba(14,22,24,.78) 0%,rgba(14,22,24,.45) 48%,rgba(14,22,24,.05) 100%)}
.hero::before{background:linear-gradient(180deg,rgba(18,20,21,.5) 0%,rgba(18,20,21,.04) 26%,rgba(18,20,21,.12) 48%,rgba(18,20,21,.8) 100%),linear-gradient(90deg,rgba(18,20,21,.42),transparent 62%)}
@media(max-width:859px){.svc .ph,.svc-feature .svc:first-child .ph{aspect-ratio:4/3}.svc-row{gap:48px}}
@media(max-width:640px){.hero h1 .sub{font-size:.56em}.mat-imgs .a{aspect-ratio:1/1}}
.opt{color:#6B5F54}
.quote-img img{object-position:35% 50%}
