/* Process · how we take care of you · about + honest proof · FAQ · contact */

/* ——— process ——— */
.process{background:var(--paper)}
.flow{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.flow .rail{position:absolute;left:12.5%;right:12.5%;top:33px;height:2px;background:var(--line-2);overflow:hidden}
.flow .rail i{position:absolute;inset:0;background:linear-gradient(90deg,var(--bar-1),var(--bar-2),var(--bar-3));transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--e-out) .2s}
.no-js .flow .rail i,.flow.in .rail i{transform:none}
.flow li{position:relative;text-align:center;padding-inline:6px}
.flow .num{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;margin:0 auto 24px;border-radius:50%;
  background:var(--card);box-shadow:0 0 0 2px var(--line-2),0 12px 24px -12px rgba(19,26,21,.3);font:800 1.6rem/1 var(--f-display);color:var(--forest);padding-top:.12em;
  transition:transform var(--t-slow) var(--e-back),background-color var(--t-base),color var(--t-base)}
.js .flow .num{transform:scale(.4)}
.flow.in .num{transform:none;transition-delay:calc(.25s + var(--i,0) * 220ms)}
.flow li:hover .num{background:var(--forest);color:var(--cream)}
.flow h3{font-size:1.35rem;margin-bottom:10px}
.flow p{font-size:.98rem;color:var(--ink-3);margin:0 auto;max-width:17em}
.flow .tag{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:99px;background:var(--mist);color:var(--forest);font:700 .74rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase}
@media (max-width:900px){
  .flow{grid-template-columns:1fr;gap:34px;max-width:520px;margin-inline:auto}
  .flow .rail{left:33px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .flow .rail i{transform:scaleY(0);transform-origin:top;background:linear-gradient(var(--bar-1),var(--bar-2),var(--bar-3))}
  .flow.in .rail i{transform:none}
  .flow li{display:grid;grid-template-columns:68px 1fr;column-gap:20px;text-align:left;padding:0}
  .flow .num{grid-row:span 3;margin:0}
  .flow p{margin:0;max-width:none}
  .flow .tag{justify-self:start}
}

/* ——— how we take care of you ——— */
.care{background:var(--forest-deep);overflow:hidden}
.care::before{content:"";position:absolute;width:70vw;height:70vw;right:-30vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,rgba(110,140,90,.25),transparent 65%);animation:drift 18s var(--e-inout) infinite alternate;pointer-events:none}
.care-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.care-card{position:relative;padding:30px 28px;border-radius:22px;background:rgba(232,237,227,.04);box-shadow:inset 0 0 0 1px rgba(232,237,227,.1);
  transition:translate var(--t-base) var(--e-out),background-color var(--t-base),box-shadow var(--t-base)}
.care-card:hover{translate:0 -6px;background:rgba(232,237,227,.07);box-shadow:inset 0 0 0 1px rgba(167,188,145,.4)}
.care-card .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(167,188,145,.12);color:var(--sage);margin-bottom:22px}
.care-card svg{width:28px;height:28px}
.js .care-card svg *{stroke-dasharray:1;stroke-dashoffset:1}
.care-card.in svg *{animation:draw 1.1s var(--e-out) calc(.2s + var(--i,0) * 70ms) forwards}
.care-card h3{font-size:1.3rem;margin-bottom:10px}
.care-card p{margin:0;font-size:.98rem}
@media (max-width:1000px){ .care-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){ .care-grid{grid-template-columns:1fr} }

/* ——— about + honest proof ——— */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:center}
.polaroid-wrap{position:relative;max-width:420px;justify-self:center;width:100%}
.polaroid{margin:0;padding:16px 16px 22px;background:#fff;border-radius:6px;rotate:-3deg;box-shadow:0 30px 60px -28px rgba(19,26,21,.5),0 2px 6px rgba(19,26,21,.08);
  transition:rotate var(--t-slow) var(--e-out)}
.polaroid:hover{rotate:0deg}
.polaroid .photo{position:relative;aspect-ratio:4/4.6;border-radius:2px;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(80% 70% at 30% 20%,#3E6B4B,var(--forest-deep) 70%)}
.polaroid .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mono{display:grid;justify-items:center;gap:14px}
.mono b{font:800 clamp(5rem,12vw,8rem)/.8 var(--f-display);color:var(--cream);letter-spacing:-.05em}
.mono .bars{--bw:92px;--bh:40px}
.polaroid figcaption{margin-top:16px;text-align:center;font-size:1.55rem;line-height:1.1;color:var(--ink)}
.sticker{position:absolute;right:-18px;bottom:64px;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:var(--sage);color:var(--night);
  text-align:center;font:800 .78rem/1.15 var(--f-body);letter-spacing:.08em;text-transform:uppercase;rotate:12deg;box-shadow:0 14px 30px -12px rgba(19,26,21,.5);animation:float 7s var(--e-inout) infinite}
.sticker b{display:block;font:800 1.7rem/1 var(--f-display);letter-spacing:-.02em;text-transform:none}
.letter h2{margin:.35em 0 .5em}
.letter h2 em{display:block;color:var(--forest)}
.letter p{font-size:1.08rem;color:var(--ink-2);max-width:36em}
.letter .sign{margin-top:8px;font-size:2.6rem;line-height:1;color:var(--forest);rotate:-3deg;display:inline-block}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.facts span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;background:var(--card);box-shadow:0 0 0 1px var(--line);font-weight:700;font-size:.9rem;color:var(--ink)}
.facts svg{width:17px;height:17px;color:var(--forest)}
.honest{margin-top:clamp(70px,9vw,120px);padding:clamp(28px,4vw,52px);border-radius:var(--r-xl);background:var(--card);box-shadow:0 0 0 1px var(--line),var(--shadow)}
.honest-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:34px}
.honest-head .ic{flex:none;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--mist);color:var(--forest)}
.honest-head .ic svg{width:30px;height:30px}
.honest-head h3{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.honest-head p{margin:.6em 0 0;color:var(--ink-3);max-width:46em}
.honest-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.honest-cols div{padding:22px;border-radius:var(--r);background:var(--paper)}
.honest-cols b{display:block;font:700 1.08rem/1.25 var(--f-display);color:var(--ink);margin-bottom:8px}
.honest-cols p{margin:0;font-size:.95rem;color:var(--ink-3)}
@media (max-width:900px){ .about-grid{grid-template-columns:1fr} .honest-cols{grid-template-columns:1fr} .sticker{right:auto;left:-10px;top:auto;bottom:92px;width:94px;height:94px;font-size:.66rem} .sticker b{font-size:1.4rem} }
@media (max-width:600px){ .honest-head{flex-direction:column} }

/* ——— FAQ ——— */
.faq{background:var(--paper-2)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(36px,6vw,90px);align-items:start}
.faq-side{position:sticky;top:calc(var(--nav-h) + 30px)}
.faq-side h2,.contact-copy h2{margin:.35em 0 .45em}
.faq-side h2{font-size:clamp(2.1rem,3.8vw,3.3rem)}
.faq-side .btn{margin-top:26px}
.qa{border-bottom:1px solid var(--line-2)}
.qa:first-child{border-top:1px solid var(--line-2)}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;text-align:left;
  font:700 clamp(1.08rem,1.6vw,1.25rem)/1.3 var(--f-display);color:var(--ink);letter-spacing:-.01em;transition:color var(--t-fast)}
.qa button:hover{color:var(--forest)}
.qa button:active{transform:scale(.99)}
.qa .chev{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-2);
  transition:transform var(--t-base) var(--e-out),background-color var(--t-base),color var(--t-base)}
.qa .chev svg{width:16px;height:16px}
.qa.open .chev{transform:rotate(180deg);background:var(--forest);color:var(--cream);box-shadow:none}
.qa .ans{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--t-base) var(--e-out),opacity var(--t-base)}
.qa .ans>div{overflow:hidden}
.qa .ans p{margin:0;padding:0 50px 26px 0;color:var(--ink-3)}
.qa.open .ans{grid-template-rows:1fr;opacity:1}
.no-js .qa .ans{grid-template-rows:1fr;opacity:1}
@media (max-width:900px){ .faq-grid{grid-template-columns:1fr} .faq-side{position:static} .qa .ans p{padding-right:0} }

/* ——— contact ——— */
.contact{overflow:hidden;background:var(--night)}
.contact-bg{position:absolute;inset:0;opacity:.9;pointer-events:none;
  background:linear-gradient(120deg,#0A0F0C 0%,#143324 30%,#0A0F0C 55%,#1E4230 80%,#0A0F0C 100%);background-size:300% 300%;animation:shift 18s var(--e-inout) infinite alternate}
.contact-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 20% 30%,rgba(167,188,145,.12),transparent 70%)}
.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,90px);align-items:start}
.contact h2 em{display:block;color:var(--sage);font-weight:400}
.direct{display:grid;gap:12px;margin-top:34px}
.direct a{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:rgba(232,237,227,.05);box-shadow:inset 0 0 0 1px rgba(232,237,227,.1);
  transition:translate var(--t-fast) var(--e-out),background-color var(--t-fast),box-shadow var(--t-fast)}
.direct a:hover{translate:6px 0;background:rgba(232,237,227,.08);box-shadow:inset 0 0 0 1px rgba(167,188,145,.4)}
.direct a:active{transform:scale(.98)}
.direct .ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--sage);color:var(--night)}
.direct .ic svg{width:22px;height:22px}
.direct small{display:block;font-size:.8rem;font-weight:600;color:var(--cream-3)}
.direct b{display:block;color:var(--cream);font-size:1.06rem;word-break:break-word}
.ps{margin-top:30px;font-size:1.65rem;line-height:1.25;color:var(--sage);rotate:-1.5deg;max-width:24em}
.form-card{position:relative;padding:clamp(24px,3.4vw,40px);border-radius:var(--r-xl);background:rgba(17,24,20,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px rgba(232,237,227,.12),var(--shadow-lg)}
.form-card form{display:grid;gap:18px}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-card .btn{width:100%;min-height:58px;font-size:1.05rem}
.form-card .fine{margin:0;text-align:center;font-size:.82rem;color:var(--cream-3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.success{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:30px;text-align:center;border-radius:inherit;background:var(--night-2);
  opacity:0;visibility:hidden;transform:scale(.97);transition:opacity var(--t-base),transform var(--t-slow) var(--e-back),visibility 0s linear var(--t-base)}
.form-card.sent .success{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.success svg{width:84px;height:84px}
.success circle{stroke:var(--sage);stroke-dasharray:1;stroke-dashoffset:1}
.success path{stroke:var(--sage);stroke-dasharray:1;stroke-dashoffset:1}
.form-card.sent .success circle{animation:draw .7s var(--e-out) .1s forwards}
.form-card.sent .success path{animation:draw .5s var(--e-back) .6s forwards}
.success h3{font-size:1.8rem}
.success p{margin:0;max-width:26em}
@media (max-width:960px){ .contact-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .form-card .row{grid-template-columns:1fr} }
