@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:300;font-display:block;src:url(../fonts/0fef8f438cab.woff2) format('woff2')}@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:600;font-display:block;src:url(../fonts/fe573d226458.woff2) format('woff2')}@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:800;font-display:block;src:url(../fonts/217326f24bfc.woff2) format('woff2')}@font-face{font-family:'Bitter';font-style:normal;font-weight:100 900;font-display:block;src:url(../fonts/33716f70c21c.woff2) format('woff2')}@font-face{font-family:'Bitter';font-style:italic;font-weight:100 900;font-display:block;src:url(../fonts/8914f1fbd5f8.woff2) format('woff2')}
:root{
 --brand:#12403F; --deep:#0B2C2B; --accent:#C6D64A; --aink:#55631A;
 --surface:#F6F1E7; --alt:#EFE7D9; --ink:#171310; --soft:#4A423B;
 --on:#FDF8F0; --rule:#DDD3C2;
 --head:'Saira Condensed','Arial Narrow',Arial,sans-serif;
 --body:'Bitter',Georgia,serif;
 --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)' opacity='0.55'/%3E%3C/svg%3E");
 --rings:repeating-radial-gradient(circle at 18% 108%,transparent 0 54px,rgba(255,255,255,.05) 54px 56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--body);
 font-size:17px;line-height:1.62;-webkit-text-size-adjust:100%;overflow-x:hidden}
.wrap{max-width:1140px;margin:0 auto;padding:0 26px}
.narrow{max-width:820px}

h1,h2,h3,.eyebrow,.btn,nav a,.stat b,.wm,th{font-family:var(--head);text-transform:uppercase}
h1{font-weight:800;font-size:clamp(40px,7.6vw,86px);line-height:.96;letter-spacing:.004em;margin:0}
h2{font-weight:800;font-size:clamp(30px,4.6vw,54px);line-height:1.02;letter-spacing:.004em;margin:0 0 18px}
h3{font-weight:800;font-size:22px;line-height:1.1;letter-spacing:.02em;margin:0 0 8px}
.eyebrow{font-weight:800;font-size:12px;letter-spacing:.2em;margin:0 0 16px;color:var(--aink)}
.dark .eyebrow,.deep .eyebrow{color:var(--accent)}
/* Over photography lime is only 4.17:1 — the text goes bone and the lime becomes a
   3px rule, which only has to clear the 3:1 graphical minimum. */
.hero .eyebrow{color:var(--on);border-left:3px solid var(--accent);padding-left:11px}
p{margin:0 0 18px}
.lede{font-size:20px;line-height:1.55}
.small{font-size:15px;color:var(--soft)}
.dark .small,.deep .small,.hero .small{color:rgba(253,248,240,.72)}
.card .small{color:var(--soft)}

/* ---------- signature ---------- */
.sig{position:relative;isolation:isolate;overflow:hidden}
.sig::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
 background-image:var(--grain),var(--rings),linear-gradient(190deg,rgba(11,44,43,.26),rgba(11,44,43,.62));
 background-size:180px 180px,auto,auto}
.sig > *{position:relative;z-index:2}
.sig-anim::after{inset:-8%;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.05) translate3d(-1%,.6%,0)}to{transform:scale(1.12) translate3d(1%,-1%,0)}}
@media (prefers-reduced-motion:reduce){.sig-anim::after{animation:none;transform:none;inset:0}}

.dark{background:var(--brand);color:var(--on)}
.deep{background:var(--deep);color:var(--on)}

/* ---------- photo treatment ---------- */
.ph{position:relative;overflow:hidden;background:var(--deep)}
.ph img{display:block;width:100%;height:100%;object-fit:cover}
.ph.duo img{filter:grayscale(1) contrast(1.08) brightness(1.02);mix-blend-mode:luminosity;opacity:.92}
.ph.duo{background:var(--brand)}
.ph.warm img{filter:saturate(.55) contrast(1.05)}
.ph.plain img{filter:none}
.ph::after{content:'';position:absolute;inset:0;pointer-events:none;
 background-image:var(--grain);background-size:180px 180px;mix-blend-mode:overlay;opacity:.22}
.ph .scrim{position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(to top,rgba(11,44,43,.86) 0%,rgba(11,44,43,.30) 46%,transparent 78%)}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:60;background:rgba(11,44,43,.92);backdrop-filter:blur(12px);
 border-bottom:1px solid rgba(255,255,255,.10)}
nav .in{display:flex;align-items:center;gap:26px;height:64px}
.wm{font-size:23px;letter-spacing:.005em;color:var(--on);font-weight:300;white-space:nowrap}
.wm b{font-weight:800}
.svgwm{display:flex;align-items:center}
.svgwm svg{height:26px;width:auto;display:block}
nav .sp{margin-left:auto}
nav a{color:rgba(253,248,240,.82);text-decoration:none;font-size:13px;letter-spacing:.13em;font-weight:600}
nav a:hover{color:var(--accent)}
@media(max-width:800px){nav a.hide{display:none}}
.btn{display:inline-block;background:var(--accent);color:#12211f;text-decoration:none;
 font-weight:800;font-size:15px;letter-spacing:.09em;padding:13px 24px;border-radius:6px;
 border:0;cursor:pointer}
.btn:hover{background:#d3e35a}
.btn.ghost{background:transparent;color:var(--on);border:1.5px solid rgba(253,248,240,.42)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn.solid{background:var(--brand);color:var(--on)}
nav .btn{padding:9px 16px;font-size:12.5px;white-space:nowrap}
nav .btn .sm{display:none}
@media(max-width:600px){nav .btn .lg{display:none}nav .btn .sm{display:inline}}
.menu{position:relative}
.menu > a::after{content:' \25BE';font-size:9px;opacity:.7}
.panel{position:absolute;top:calc(100% + 14px);right:-40px;display:none;gap:34px;
 background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:24px 28px;
 box-shadow:0 24px 60px rgba(0,0,0,.28);min-width:520px}
.menu:hover .panel,.menu:focus-within .panel{display:flex}
.pcol{min-width:150px}
.pt{font-family:var(--head);text-transform:uppercase;font-weight:800;font-size:11px;
 letter-spacing:.16em;color:var(--aink);margin:0 0 10px}
.panel a{display:block;color:var(--ink);font-family:var(--body);text-transform:none;
 letter-spacing:0;font-size:15px;font-weight:400;padding:5px 0}
.panel a:hover{color:var(--brand);text-decoration:underline}
@media(max-width:900px){.menu{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;
 background:var(--deep);overflow:hidden;isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:0}
.hero .bg picture{display:block;width:100%;height:100%}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:34% 46%;filter:none;opacity:1}
.hero .tint{position:absolute;inset:0;z-index:1;background:
 var(--grain),var(--rings),
 linear-gradient(to left,rgba(8,32,31,.93) 0%,rgba(8,32,31,.88) 34%,rgba(11,44,43,.34) 62%,rgba(11,44,43,.06) 100%),
 linear-gradient(180deg,rgba(11,44,43,.30) 0%,transparent 28%,rgba(11,44,43,.34) 100%);
 background-size:180px 180px,auto,auto}
.hero .in{position:relative;z-index:2;padding-top:120px;padding-bottom:64px;color:var(--on)}
.hero .col{max-width:600px;margin-left:auto}
@media(max-width:900px){.hero .col{max-width:none;margin-left:0}}
.hero h1{max-width:14ch}
.hero .sub{max-width:40ch;margin:22px 0 30px;font-size:19px;color:rgba(253,248,240,.96)}
.cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.reassure{font-size:14px;color:rgba(253,248,240,1);margin:16px 0 0}

/* ---------- strips ---------- */
section{padding:88px 0}
section.tight{padding:64px 0}
.grid2{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:900px){.grid2,.grid3,.grid2x2{grid-template-columns:1fr;gap:24px}}
.frame{border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.frame.tall{aspect-ratio:3/4}

.card{background:#fff;color:var(--ink);border:1px solid var(--rule);border-radius:14px;
 padding:26px 24px;display:flex;flex-direction:column}
.card h3{color:var(--brand)}
.card .num{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.16em;
 color:var(--aink);margin:0 0 12px}
.card .lbl{display:flex;align-items:baseline;gap:11px;margin:0 0 6px}
.card h3 .n{display:inline-block;font-size:12px;letter-spacing:.16em;color:var(--aink);
 opacity:.8;margin-right:9px;vertical-align:1px}
.card .lbl .w{font-family:var(--head);font-weight:800;font-size:34px;line-height:1;
 letter-spacing:.01em;text-transform:uppercase;color:var(--brand)}
.card .lbl + h3{font-size:15px;letter-spacing:.14em;color:var(--soft);margin-bottom:12px}
.card p{font-size:16px;margin:0 0 14px}
.card .pick{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:center;
 text-align:center;min-height:54px;padding:14px 18px;border:2px solid var(--brand);
 border-radius:9px;font-family:var(--head);font-weight:800;font-size:14.5px;
 letter-spacing:.08em;text-transform:uppercase;color:var(--brand);text-decoration:none;
 line-height:1.15;transition:background .15s,color .15s}
.card .pick:hover,.card .pick:focus-visible{background:var(--brand);color:var(--on)}
.cardfoot{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;padding-top:18px}
.cardfoot .chip{align-self:flex-start;margin:0 0 16px}
.cardfoot .sep{display:block;height:1px;background:var(--rule);margin:0 0 18px}
.cardfoot .pick{width:100%}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16);
 border-bottom:1px solid rgba(255,255,255,.16)}
@media(max-width:760px){.stats{grid-template-columns:1fr}}
.stat{padding:30px 26px;border-right:1px solid rgba(255,255,255,.16)}
.stat:last-child{border-right:0}
.stat b{display:block;font-size:52px;font-weight:800;line-height:1;color:var(--accent);letter-spacing:.01em}
.stat span{display:block;margin-top:8px;font-size:15px;color:rgba(253,248,240,.78)}

/* ---------- calculator ---------- */
.calc{background:var(--alt);border:1px solid var(--rule);border-radius:16px;padding:30px 28px}
.calc label{display:block;font-family:var(--head);text-transform:uppercase;font-weight:800;
 font-size:14.5px;letter-spacing:.13em;color:var(--soft);margin:0 0 10px}
.calc input[type=range]{width:100%;accent-color:var(--brand);height:26px}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:0 0 4px}
.val{font-family:var(--head);font-weight:800;font-size:34px;color:var(--brand);letter-spacing:.01em}
.out{margin-top:22px;padding-top:20px;border-top:1px solid var(--rule)}
.out .big{font-family:var(--head);font-weight:800;font-size:clamp(34px,5.4vw,58px);
 line-height:1;color:var(--brand);letter-spacing:.006em}
.out .cap{font-size:15px;color:var(--soft);margin:10px 0 0}

/* ---------- avail ---------- */
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.slot{border:1px solid rgba(255,255,255,.2);border-radius:11px;padding:16px 16px}
.slot .m{font-family:var(--head);font-weight:800;letter-spacing:.14em;font-size:12px;
 color:var(--accent);text-transform:uppercase}
.slot .s{font-size:15px;margin-top:6px;color:rgba(253,248,240,.86)}
.slot.gone{opacity:.42}
.slot.gone .m{color:rgba(253,248,240,.7)}
.slots{margin-top:30px}
.slot{background:rgba(0,0,0,.16)}
.slot.open{border-color:rgba(198,214,74,.42)}
.slot.part{border-color:rgba(232,200,106,.55)}
.slot.gone{border-color:rgba(255,255,255,.14);opacity:.5}
.slot.part .m{color:#E8C86A}
.bar{display:flex;gap:5px;margin-top:12px}
.bar i{flex:1;height:5px;border-radius:3px}
.bar i.e{background:var(--accent);opacity:.85}
.bar i.f{background:rgba(255,255,255,.2)}
.slot.gone .bar i{background:rgba(255,255,255,.18)}

/* ---------- treatments ---------- */
.treat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.treat{grid-template-columns:1fr}}
.treat .frame{aspect-ratio:5/4}
.tl{font-family:var(--head);text-transform:uppercase;font-weight:800;font-size:12px;
 letter-spacing:.15em;color:var(--soft);margin:10px 0 0}


.card.tool{background:var(--alt);border-color:var(--rule)}
.claim{background:var(--brand);color:var(--on);border-radius:14px;padding:26px 26px 24px;
 position:relative;isolation:isolate;overflow:hidden}
.claim::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
 background-image:var(--grain),var(--rings);background-size:180px 180px,auto;opacity:.9}
.claim > *{position:relative;z-index:1}
.claim h3{color:var(--accent);font-size:24px;margin-bottom:10px}
.claim p{font-size:16px;color:rgba(253,248,240,.9)}
.claim .btn.solid{background:var(--accent);color:#12211f}
.swap{color:var(--aink)}
p .swap,li .swap{border-bottom:1px dotted currentColor;padding-bottom:1px}
.dark .swap,.deep .swap,.hero .swap{color:var(--accent);border-color:var(--accent)}
.toolrow{display:flex;align-items:center;gap:9px;margin-top:14px;padding-top:13px;
 border-top:1px solid var(--rule)}
.chip{white-space:nowrap}
.chip{font-family:var(--head);text-transform:uppercase;font-weight:800;font-size:10.5px;
 letter-spacing:.13em;padding:4px 9px;border-radius:20px;background:var(--brand);color:var(--accent)}
.chip.free{background:var(--accent);color:#12211f}
.calcwrap{position:relative;isolation:isolate;overflow:hidden;padding:96px 0 104px}
.calcbg{position:absolute;inset:0;z-index:0}
.calcbg img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;
 filter:none;opacity:1}
.calctint{position:absolute;inset:0;z-index:1;background:
 var(--grain),var(--rings),
 linear-gradient(180deg,rgba(11,44,43,.44) 0%,rgba(11,44,43,.10) 48%,rgba(11,44,43,.62) 100%);
 background-size:180px 180px,auto,auto}
.calcinner{position:relative;z-index:2}
.calc.glass{margin-left:auto;margin-right:auto;background:rgba(7,32,31,.88);-webkit-backdrop-filter:blur(14px) saturate(115%);
 backdrop-filter:blur(14px) saturate(115%);border:1px solid rgba(253,248,240,.18);
 border-radius:18px;padding:30px 30px 32px;margin-top:34px;max-width:620px;
 box-shadow:0 30px 70px rgba(0,0,0,.34)}
.calc.glass{text-align:left}
.calc.glass .calch3{font-size:25px;margin:0 0 22px;color:var(--on);text-align:center}
.calc.glass .out{text-align:center}
.calc.glass .out .cap{max-width:52ch;margin-left:auto;margin-right:auto}
.calc.glass label{color:rgba(253,248,240,.92)}
.calc.glass .val{color:var(--accent)}
.calc.glass input[type=range]{accent-color:var(--accent)}
.calc.glass .out{border-top:1px solid rgba(253,248,240,.22)}
.calc.glass .big{color:var(--accent)}
.calc.glass .cap{color:rgba(253,248,240,.95);font-size:17px}
.calc.glass .cap.fine{color:rgba(253,248,240,.78);font-size:15px;line-height:1.55;margin-top:16px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .calc.glass{background:rgba(7,32,31,.94)}
}
.terr{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
@media(max-width:820px){.terr{grid-template-columns:1fr}}
.tform{background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);border-radius:14px;
 padding:22px 22px 24px}
.tl2{display:block;font-family:var(--head);text-transform:uppercase;font-weight:800;font-size:11px;
 letter-spacing:.16em;color:var(--accent);margin:0 0 8px}
.tform select,.tform input{width:100%;font-family:var(--body);font-size:16px;padding:11px 13px;
 border-radius:8px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);
 color:var(--on);margin:0 0 18px}
.tform select option{color:#171310}
.tform input::placeholder{color:rgba(253,248,240,.45)}
.tresult{background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);border-radius:14px;
 padding:22px;display:flex;flex-direction:column;justify-content:center}
.tstate{font-family:var(--head);text-transform:uppercase;font-weight:800;font-size:clamp(22px,3vw,32px);
 line-height:1.06;margin:0 0 10px;color:var(--accent)}
.tstate.taken{color:#E8A0A0}
.tstate.talking{color:#E8C86A}
.tnote{margin:0;font-size:15px;color:rgba(253,248,240,.8)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;
 margin-top:56px;padding-top:44px;border-top:1px solid var(--rule)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:26px}}
.auditbox{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.auditbox .btn{align-self:flex-start}
.ai{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--aink);
 border-radius:0 12px 12px 0;padding:18px 20px}
.ai h3{font-size:19px;margin-bottom:6px;color:var(--brand)}
.ai p{margin:0}

footer{background:var(--deep);color:rgba(253,248,240,.7);padding:60px 0 70px;font-size:15px}
footer .wm{font-size:26px;color:var(--on);margin-bottom:14px;display:inline-block}
footer a{color:rgba(253,248,240,.7)}
.note{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--aink);
 border-radius:0 12px 12px 0;padding:20px 22px;font-size:15px;color:var(--soft)}

/* Narrow screens: the photo has no dark side to sit copy on, so the scrim goes
   flat and heavier. Placed last so it beats the base .hero .tint rule. */
@media (max-width:600px){
  nav .in{height:58px;gap:12px}
  nav .btn{padding:8px 12px;font-size:11px;white-space:nowrap;line-height:1.1}
  .wm svg,.svgwm svg{height:20px}
  .wrap{padding:0 20px}
  .hero h1{font-size:clamp(34px,9vw,46px)}
}
@media (max-width:900px){
  .hero .tint{background:
    var(--grain),var(--rings),
    linear-gradient(180deg,rgba(8,32,31,.70) 0%,rgba(8,32,31,.90) 52%,rgba(8,32,31,.95) 100%);
    background-size:180px 180px,auto,auto}
  .hero .bg picture{display:block;width:100%;height:100%}
.hero .bg img{object-position:44% 42%}
  .hero .in{padding-top:92px;padding-bottom:56px}
}