/* ===========================
   THE SMELL & TASTE LAB
   Brand Design System
   =========================== */

:root{
  --or:#c65d24;--orl:#e8a472;--orp:#f4c9a3;--org:#d4713a;
  --ter:#b5522a;--peach:#f5e0d0;--pl:#faf0e8;--pbg:#fdf6f0;
  --cream:#fefcf9;--dark:#2a1f17;--dark2:#3d2e22;
  --tx:#4a3728;--tx2:#8a7568;--tx3:#b8a99c;--bd:#ede4db;
  --hf:'Playfair Display',Georgia,serif;
  --bf:'DM Sans',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--pbg);color:var(--tx);font-family:var(--bf);font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* LOADER */
#ld{position:fixed;inset:0;background:var(--pbg);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s}
#ld.done{opacity:0;pointer-events:none}
#ld h2{font-family:var(--hf);font-size:1.3rem;font-weight:400;letter-spacing:.2em;color:var(--or);margin-bottom:1.5rem}
#bw{width:200px;height:2px;background:var(--bd);overflow:hidden}
#bf{height:100%;width:0;background:var(--or);transition:width .2s}
#bp{margin-top:.8rem;font-size:.6rem;color:var(--tx3);letter-spacing:.1em}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;background:rgba(253,246,240,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:all .3s}
nav.scrolled{border-bottom-color:var(--bd)}
nav.dm{background:rgba(42,31,23,.92)!important;border-bottom-color:rgba(255,255,255,.05)!important}
nav.dm .nl{color:var(--orl)}nav.dm .nl span{color:#9a8a7a}
nav.dm .nk{color:#9a8a7a}nav.dm .nk:hover{color:var(--orl)}
nav.dm .nk.active{color:var(--orl)}
nav.dm .lb{color:#9a8a7a;border-color:rgba(255,255,255,.12)}
nav.dm .lb.on{background:var(--or);color:#fff}
nav.dm .mobile-menu-btn{color:#ccc}
.nl{font-family:var(--hf);font-size:1rem;font-weight:500;letter-spacing:.12em;color:var(--ter);text-decoration:none;text-transform:uppercase}
.nl span{color:var(--tx2);font-weight:300}
.nr{display:flex;align-items:center;gap:1.5rem}
.nks{display:flex;gap:1.8rem}
.nk{font-size:.68rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--tx2);text-decoration:none;transition:color .3s}
.nk:hover,.nk.active{color:var(--or)}
.lw{display:flex;border:1px solid var(--bd);overflow:hidden;border-radius:2px}
.lb{background:none;border:none;font-family:var(--bf);font-size:.55rem;letter-spacing:.08em;color:var(--tx3);padding:.25rem .55rem;cursor:pointer;transition:all .3s}
.lb.on{background:var(--or);color:#fff}
.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--tx2);
  cursor: pointer;
  padding: 0.2rem;
}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pbg),var(--peach) 50%,var(--pl))}
.flr{position:absolute;pointer-events:none;border-radius:50%;opacity:.25}
.fl1{top:-5%;right:-8%;width:500px;height:500px;background:radial-gradient(circle,var(--orp),transparent 70%)}
.fl2{bottom:-10%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,var(--peach),transparent 70%)}
.pet{position:absolute;pointer-events:none;opacity:.3;border-radius:50% 0 50% 0;z-index:1}
.pt1{width:40px;height:25px;background:var(--orp);top:15%;right:20%;transform:rotate(30deg);animation:pf1 6s ease-in-out infinite}
.pt2{width:30px;height:18px;background:var(--peach);top:35%;right:30%;transform:rotate(-20deg);animation:pf2 7s ease-in-out infinite}
.pt3{width:35px;height:20px;background:var(--orl);bottom:25%;right:15%;transform:rotate(60deg);animation:pf1 5s ease-in-out infinite;opacity:.1}
.pt4{width:25px;height:15px;background:var(--orp);top:60%;right:40%;transform:rotate(-45deg);animation:pf2 8s ease-in-out infinite;opacity:.12}
@keyframes pf1{0%,100%{transform:rotate(30deg) translate(0,0)}50%{transform:rotate(35deg) translate(8px,-12px)}}
@keyframes pf2{0%,100%{transform:rotate(-20deg) translate(0,0)}50%{transform:rotate(-15deg) translate(-6px,10px)}}
.hi{max-width:620px;position:relative;z-index:2;margin-left:5vw}
.ht{font-size:.6rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--or);margin-bottom:2rem;opacity:0;animation:fi .8s ease .2s forwards}
.hero h1{font-family:var(--hf);font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:400;line-height:1.12;color:var(--dark);margin-bottom:1.5rem;opacity:0;animation:fi .8s ease .4s forwards}
.hero h1 em{font-style:italic;color:var(--or)}
.hd{font-size:.95rem;color:var(--tx2);line-height:1.85;max-width:460px;margin-bottom:2.5rem;opacity:0;animation:fi .8s ease .6s forwards}
.hb{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:#fff;background:var(--or);padding:.9rem 2.2rem;text-decoration:none;border-radius:40px;transition:all .3s;opacity:0;animation:fi .8s ease .8s forwards}
.hb:hover{background:var(--ter);transform:translateY(-2px);box-shadow:0 10px 30px rgba(198,93,36,.2)}
.sc{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);text-align:center;opacity:0;animation:fi .8s ease 1.2s forwards;z-index:2}
.sc span{display:block;font-size:.48rem;letter-spacing:.35em;text-transform:uppercase;color:var(--tx3);margin-bottom:.4rem}
.sc i{display:block;width:1px;height:24px;margin:0 auto;background:linear-gradient(var(--or),transparent);animation:sa 1.8s ease infinite}
@keyframes sa{0%,100%{opacity:.2;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}
@keyframes fi{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* SCROLL ANIMATION ZONE */
.anim-zone{position:relative;background:var(--dark)}
.anim-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--dark)}
.frame-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110vh;height:110vh;max-width:110vw;object-fit:contain}
.anim-sticky::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 18%,var(--dark) 68%);pointer-events:none}
.anim-sticky::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(232,164,114,.08), transparent 35%),
    radial-gradient(circle at 82% 78%, rgba(198,93,36,.08), transparent 38%),
    linear-gradient(to bottom, rgba(0,0,0,.06), rgba(0,0,0,.22));
  pointer-events:none;
  z-index:2;
}

/* Mobile scroll animation fixes */
@supports (-webkit-touch-callout: none) {
  .anim-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

.anim-zone{-webkit-overflow-scrolling:touch}

/* Slides */
.sl{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;z-index:5;opacity:0;transition:opacity .55s ease;pointer-events:none}
.sl.act{opacity:1;pointer-events:auto}
body.at-start .anim-zone #s0{opacity:1;pointer-events:auto}
.slc{justify-content:center;text-align:center}.sll{justify-content:flex-start;padding-left:5vw}.slr{justify-content:flex-end;padding-right:5vw}
.gl{max-width:370px;background:rgba(26,20,15,.48);backdrop-filter:blur(34px);-webkit-backdrop-filter:blur(34px);border:1px solid rgba(232,164,114,.14);padding:2.4rem 2rem;box-shadow:0 18px 50px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03)}
.gl .sn{font-family:var(--hf);font-size:.8rem;color:var(--orl);letter-spacing:.15em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.gl .sn::after{content:'';flex:1;height:1px;background:rgba(232,164,114,.12)}
.gl h3{font-family:var(--hf);font-size:1.7rem;font-weight:400;color:var(--pl);margin-bottom:.6rem;line-height:1.2}
.gl p{font-size:.8rem;color:var(--tx3);line-height:1.8}
.sti{font-family:var(--hf);font-size:clamp(2rem,4.5vw,3.6rem);font-weight:400;color:var(--pl);line-height:1.15;max-width:560px;text-shadow:0 10px 45px rgba(0,0,0,.55), 0 0 24px rgba(232,164,114,.12)}
.sti em{font-style:italic;color:var(--orl)}
.ssu{font-size:.8rem;color:var(--tx3);margin-top:1rem}
.bn{font-family:var(--hf);font-size:clamp(5rem,12vw,10rem);font-weight:300;color:var(--orl);line-height:1}
.bl{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:#9a8a7a;margin-top:.5rem}

/* Molecules */
.mw{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .5s}.mw.show{opacity:1}
.mo{position:absolute;width:26px;height:26px;border-radius:50%;border:1px solid rgba(198,93,36,.4);background:rgba(198,93,36,.12);pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}
.mo::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--or);transition:transform .3s}
.mo:hover,.mo.tap{transform:scale(1.4);border-color:var(--or);background:rgba(198,93,36,.25);box-shadow:0 0 25px rgba(198,93,36,.3)}
.mi{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(5px);background:rgba(42,31,23,.9);backdrop-filter:blur(15px);border:1px solid rgba(198,93,36,.15);padding:.9rem 1.1rem;min-width:185px;max-width:230px;opacity:0;visibility:hidden;transition:all .3s;text-align:left}
.mo:hover .mi,.mo.tap .mi{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mi h4{font-family:var(--hf);font-size:.85rem;color:var(--orl);margin-bottom:.2rem;font-weight:400}
.mi p{font-size:.62rem;color:#aaa;line-height:1.55}
.mo:nth-child(1){animation:m1 4s ease-in-out infinite}.mo:nth-child(2){animation:m2 5s ease-in-out infinite}.mo:nth-child(3){animation:m3 3.5s ease-in-out infinite}.mo:nth-child(4){animation:m4 4.5s ease-in-out infinite}.mo:nth-child(5){animation:m5 3.8s ease-in-out infinite}
@keyframes m1{0%,100%{margin-top:0}50%{margin-top:-6px}}@keyframes m2{0%,100%{margin-top:0}50%{margin-top:5px}}@keyframes m3{0%,100%{margin-top:0}50%{margin-top:-5px}}@keyframes m4{0%,100%{margin-top:0}50%{margin-top:4px}}@keyframes m5{0%,100%{margin-top:0}50%{margin-top:-4px}}

/* Dots */
.dots{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:1001;display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .3s}.dots.show{opacity:1}
.dd{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(232,164,114,.18);transition:all .3s}.dd.on{background:var(--orl);border-color:var(--orl);transform:scale(1.4);box-shadow:0 0 12px rgba(232,164,114,.45)}
.mobile-swipe-hint{display:none}

/* Transitions */
.dtl{height:15vh;background:linear-gradient(var(--dark),var(--pbg))}
.ltd{height:15vh;background:linear-gradient(var(--pbg),var(--dark))}

/* LIGHT SECTIONS */
.stag{font-size:.58rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--or);margin-bottom:3rem;text-align:center}
.sec-st{padding:5rem 2rem;text-align:center;background:var(--pbg);position:relative;overflow:hidden}
.srow{display:flex;justify-content:center;gap:1px;flex-wrap:wrap;max-width:880px;margin:0 auto}
.si{width:200px;padding:2.5rem 1.5rem;background:var(--cream);border:1px solid var(--bd);text-align:center;transition:all .3s}
.si:hover{border-color:var(--orp);transform:translateY(-3px);box-shadow:0 8px 25px rgba(198,93,36,.06)}
.si-n{font-family:var(--hf);font-size:3rem;font-weight:400;color:var(--or);line-height:1;margin-bottom:.4rem}
.si-l{font-size:.58rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--tx2);line-height:1.5}

.sec-q{padding:4rem 2rem 5rem;text-align:center;max-width:680px;margin:0 auto}
.sec-q blockquote{font-family:var(--hf);font-size:clamp(1.3rem,2.8vw,2rem);font-weight:400;font-style:italic;color:var(--dark);line-height:1.5;position:relative;padding:0 1.5rem}
.sec-q blockquote::before{content:'\201C';font-size:4rem;color:var(--orp);position:absolute;top:-1.2rem;left:-.5rem;line-height:1}
.sec-q cite{display:block;margin-top:1.2rem;font-family:var(--bf);font-size:.68rem;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}

.sec-sv{padding:4rem 2rem 6rem;background:var(--pbg)}
.sec-sv h2{text-align:center;font-family:var(--hf);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:var(--dark);margin-bottom:3rem}
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;max-width:940px;margin:0 auto}
.sv{padding:2rem 1.6rem;background:var(--cream);border:1px solid var(--bd);transition:all .3s;border-radius:2px;position:relative;overflow:hidden}
.sv::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--orp),var(--or),var(--orp));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.sv:hover{border-color:var(--orp);transform:translateY(-3px);box-shadow:0 8px 25px rgba(198,93,36,.06)}.sv:hover::before{transform:scaleX(1)}
.sv h3{font-family:var(--hf);font-size:1.1rem;font-weight:400;color:var(--dark);margin-bottom:.5rem}
.sv p{font-size:.76rem;color:var(--tx2);line-height:1.8}
.sv-btn{display:inline-block;margin-top:1rem;font-size:.58rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:1px solid var(--or);padding-bottom:2px;transition:all .3s}
.sv-btn:hover{color:var(--ter);border-color:var(--ter)}

.sec-ct{padding:6rem 2rem 5rem;text-align:center;background:linear-gradient(135deg,var(--peach),var(--pl));position:relative;overflow:hidden}
.sec-ct h2{font-family:var(--hf);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:400;color:var(--dark);margin-bottom:.8rem}
.sec-ct h2 em{font-style:italic;color:var(--or)}
.sec-ct p{font-size:.86rem;color:var(--tx2);max-width:420px;margin:0 auto 2rem;line-height:1.8}
.cb{display:inline-block;font-size:.6rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:#fff;background:var(--or);padding:.9rem 2.4rem;text-decoration:none;border-radius:40px;transition:all .3s}
.cb:hover{background:var(--ter);transform:translateY(-2px);box-shadow:0 10px 30px rgba(198,93,36,.2)}

footer{padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid var(--bd);background:var(--pbg)}
.fl{font-family:var(--hf);font-size:.72rem;letter-spacing:.1em;color:var(--tx3)}
.fr{font-size:.6rem;color:var(--tx3)}.fr a{color:var(--or);text-decoration:none}

/* Expanded footer */
.footer-expanded{padding:3rem 2.5rem 2rem;border-top:1px solid var(--bd);background:var(--pbg)}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;max-width:1000px;margin:0 auto}
.footer-brand{font-family:var(--hf);font-size:1rem;color:var(--or);letter-spacing:0.1em;margin-bottom:0.8rem}
.footer-addr{font-size:0.7rem;color:var(--tx2);line-height:1.8}.footer-addr a{color:var(--or);text-decoration:none}
.footer-head{font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--or);margin-bottom:0.8rem}
.footer-links{font-size:0.7rem;color:var(--tx2);line-height:2}.footer-links a{color:var(--tx2);text-decoration:none}
.footer-links a:hover{color:var(--or)}
.footer-copy{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--bd);font-size:0.55rem;color:var(--tx3);letter-spacing:0.05em}
@media(max-width:768px){.footer-inner{flex-direction:column;align-items:center;text-align:center}}

.form-section{padding:5rem 2rem;max-width:640px;margin:0 auto}
.form-section h2{font-family:var(--hf);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:var(--dark);text-align:center;margin-bottom:0.5rem}
.form-section .form-sub{font-size:0.85rem;color:var(--tx2);text-align:center;margin-bottom:3rem;line-height:1.7}
.form-group{margin-bottom:1.5rem;position:relative}
.form-group label{display:block;font-size:0.65rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--or);margin-bottom:0.5rem;transition:color 0.3s}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem 1.2rem;border:1.5px solid var(--bd);background:var(--cream);font-family:var(--bf);font-size:0.88rem;color:var(--tx);border-radius:6px;transition:all 0.3s;outline:none}
.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--orp)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(198,93,36,0.08);background:white}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--tx3);font-style:italic;font-size:0.82rem}
.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}
.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23c65d24' d='M7 10L2 5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.2rem center}
.form-row{display:flex;gap:1rem}
.form-row .form-group{flex:1}
@media(max-width:768px){.form-row{flex-direction:column;gap:0}}
.form-group.required label::after{content:' *';color:var(--or);font-weight:400}
.form-submit{display:block;width:100%;padding:1.1rem;font-family:var(--bf);font-size:0.68rem;font-weight:500;letter-spacing:0.28em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--or),var(--ter));border:none;border-radius:50px;cursor:pointer;transition:all 0.4s;margin-top:2rem;position:relative;overflow:hidden}
.form-submit:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(198,93,36,0.25)}
.form-submit:active{transform:translateY(-1px)}
.form-submit::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.15);transition:all 0.5s;transform:translate(-50%,-50%)}
.form-submit:hover::after{width:300px;height:300px}
.form-success{display:none;text-align:center;padding:2.5rem 2rem;background:linear-gradient(135deg,var(--cream),var(--pl));border:1px solid var(--orp);border-radius:12px;margin-top:2rem;animation:successPop 0.5s cubic-bezier(0.34,1.56,0.64,1)}
.form-success.show{display:block}
.form-success h3{font-family:var(--hf);font-size:1.4rem;color:var(--or);margin-bottom:0.6rem}
.form-success p{font-size:0.85rem;color:var(--tx2);line-height:1.7}
.form-success .success-icon{font-size:2.5rem;margin-bottom:1rem;display:block}
@keyframes successPop{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}
.tier-cards{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.tier-card{position:relative;width:300px;padding:2rem;background:var(--cream);border:1px solid var(--bd);border-radius:3px;text-align:center;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.tier-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(198,93,36,0.12)}
.tier-card.featured{border:2px solid var(--or);transform:translateY(-4px);box-shadow:0 8px 30px rgba(198,93,36,0.1)}
.tier-card.featured:hover{transform:translateY(-12px);box-shadow:0 20px 50px rgba(198,93,36,0.15)}
.tier-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--or);color:#fff;font-size:0.5rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;padding:0.2rem 0.8rem;border-radius:20px;white-space:nowrap}
.tier-card h4{font-family:var(--hf);font-size:1.1rem;color:var(--dark);margin-bottom:0.5rem}
.tier-price{font-family:var(--hf);font-size:1.8rem;color:var(--or);margin:0.5rem 0}
.tier-card p{font-size:0.75rem;color:var(--tx2);margin-bottom:1.2rem;line-height:1.6}
.tier-benefits{text-align:left;font-size:0.72rem;color:var(--tx2);line-height:2;margin:1rem 0}
.tier-card button,.tier-card .tier-btn{width:100%;padding:0.7rem;font-family:var(--bf);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:#fff;background:var(--or);border:none;border-radius:40px;cursor:pointer;transition:all 0.3s;text-decoration:none;display:block;text-align:center}
.tier-card button:hover,.tier-card .tier-btn:hover{background:var(--ter);transform:translateY(-2px)}
.tier-card .subscribe-row{display:flex;gap:0.5rem;margin-top:1rem}
.tier-card .subscribe-row input{flex:1;padding:0.7rem 1rem;border:1.5px solid var(--bd);border-radius:6px;font-family:var(--bf);font-size:0.8rem;outline:none;transition:all 0.3s}
.tier-card .subscribe-row input:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(198,93,36,0.08)}
.tier-card .subscribe-row button{padding:0.7rem 1.2rem;font-family:var(--bf);font-size:0.55rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:#fff;background:var(--or);border:none;border-radius:6px;cursor:pointer;transition:all 0.3s;white-space:nowrap}
.tier-card .subscribe-row button:hover{background:var(--ter)}
.steps-grid{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:3rem auto;max-width:900px}
.step-card{width:200px;text-align:center;padding:1.5rem 1rem;transition:all 0.3s;border:1px solid transparent;border-radius:8px;background:var(--cream)}
.step-card:hover{border-color:var(--orp);transform:translateY(-4px);box-shadow:0 8px 25px rgba(198,93,36,0.06)}
.step-num{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--or),var(--ter));color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-family:var(--hf);font-size:1.5rem}
.step-card h4{font-family:var(--hf);font-size:1rem;color:var(--dark);margin-bottom:0.4rem;font-weight:400}
.step-card p{font-size:0.72rem;color:var(--tx2);line-height:1.6}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:900px;margin:2rem auto;padding:0 2rem}
.blog-card{background:var(--cream);border:1px solid var(--bd);border-top:3px solid var(--or);padding:2rem 1.5rem;transition:all 0.3s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(198,93,36,0.06)}
.blog-date{font-size:0.6rem;color:var(--tx3);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.5rem}
.blog-card h3{font-family:var(--hf);font-size:1.1rem;color:var(--dark);margin-bottom:0.5rem;font-weight:400;line-height:1.4}
.blog-card p{font-size:0.75rem;color:var(--tx2);line-height:1.6;margin-bottom:1rem}
.blog-card a{font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:1px solid var(--or);padding-bottom:2px}
.calendly-placeholder{border:2px dashed var(--bd);border-radius:12px;height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;margin:2rem auto;max-width:600px;transition:border-color 0.3s}
.calendly-placeholder:hover{border-color:var(--orp)}
.calendly-placeholder p{font-size:0.8rem;color:var(--tx3);font-style:italic}
.calendly-placeholder .cal-icon{font-size:2rem;color:var(--orp)}
@media(max-width:768px){
  .form-group input,.form-group select,.form-group textarea{padding:0.9rem 1rem;font-size:0.85rem}
  .form-submit{padding:1rem;font-size:0.62rem}
  .form-section{padding:3rem 1.5rem}
  .tier-cards{flex-direction:column;align-items:center}
  .tier-card{width:90%;max-width:340px}
  .tier-card .subscribe-row{flex-direction:column}
  .tier-card .subscribe-row button{width:100%}
  .steps-grid{flex-direction:column;align-items:center}
  .step-card{width:80%}
  .blog-grid{grid-template-columns:1fr}
}

.rv{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.rv.v{opacity:1;transform:translateY(0)}

@media(max-width:768px){
  .mobile-menu-btn{display:block}
  .nks{
    display:none !important;
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:var(--pbg);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2rem;
    z-index:999;
  }
  .nks.open{display:flex !important}
  .nks.open .nk{font-size:1rem;letter-spacing:.2em}
  nav.dm .nks.open{background:var(--dark)}

  nav{padding:1rem 1.2rem}
  .nl{font-size:.8rem}
  .nl span{display:none}

  .hero{min-height:50vh;justify-content:center;text-align:center}
  .hero .hi{margin-left:0;padding:0 1rem;text-align:center}
  .hero h1{font-size:clamp(1.8rem,8vw,2.5rem)}
  .contact-section{min-height:50vh;padding:6rem 1rem 4rem}
  .contact-section h1{font-size:clamp(1.8rem,8vw,2.5rem)}
  .hd{font-size:.82rem}

  .frame-img{
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:none !important;
  }
  .anim-sticky::after{background:radial-gradient(ellipse at center,transparent 10%,var(--dark) 60%)}
  .anim-zone{height:400vh !important}

  .sl{padding:0 1rem !important}
  .sll{padding-left:1rem !important}
  .slr{padding-right:1rem !important}
  .sti{font-size:1.5rem !important;max-width:85vw}
  .ssu{font-size:.7rem}
  .bn{font-size:3.5rem !important}
  .bl{font-size:.5rem;letter-spacing:.15em}

  .gl{max-width:80vw !important;padding:1.2rem 1rem !important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
  .gl .sn{font-size:.7rem}
  .gl h3{font-size:1.1rem !important}
  .gl p{font-size:.7rem !important;line-height:1.6}

  .si{width:45vw;padding:1.5rem .8rem}
  .si-n{font-size:2.2rem}
  .sv{padding:1.5rem 1.2rem}

  .sec-q blockquote{font-size:1.1rem;padding:0 .5rem}
  .sec-ct h2{font-size:1.5rem}
  .sec-ct p{font-size:.8rem}
  .cb{padding:.8rem 2rem;font-size:.55rem}

  .dots{right:.3rem !important}
  .dd{width:4px !important;height:4px !important}

  footer{padding:1.5rem 1rem;flex-direction:column;text-align:center}
  .fl,.fr{font-size:.55rem}

  .mobile-swipe-hint{
    display:block;
    font-size:.5rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,255,255,.4);
    margin-top:1.5rem;
    animation:swipeHint 2s ease infinite;
  }
  @keyframes swipeHint{
    0%,100%{opacity:.3;transform:translateY(0)}
    50%{opacity:.7;transform:translateY(-5px)}
  }
}

.story-section{padding:5rem 2rem;max-width:720px;margin:0 auto}
.story-section h2{font-family:var(--hf);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:var(--dark);text-align:center;margin-bottom:3rem}
.story-section p{font-size:1rem;color:var(--tx);line-height:2;margin-bottom:1.5rem}
.story-section p::first-letter{font-family:var(--hf);font-size:2.5rem;color:var(--or);float:left;line-height:1;margin-right:0.3rem;margin-top:0.1rem}
.mission-block{padding:4rem 2rem;text-align:center}
.mission-block .stag{margin-bottom:1.5rem}
.mission-text{font-family:var(--hf);font-style:italic;font-size:clamp(1.3rem,3vw,2rem);color:var(--dark);max-width:600px;margin:0 auto;line-height:1.6}
.values-grid{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;max-width:900px;margin:2rem auto;padding:3rem 2rem}
.value-card{width:200px;text-align:center;padding:2rem 1rem}
.value-card h4{font-family:var(--hf);font-size:1.1rem;color:var(--or);margin-bottom:0.5rem;font-weight:400}
.value-card p{font-size:0.75rem;color:var(--tx2);line-height:1.7}
.timeline{max-width:600px;margin:3rem auto;position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--orp),var(--or),var(--orp))}
.tl-item{position:relative;margin-bottom:2.5rem;padding-left:1.5rem}
.tl-item::before{content:'';position:absolute;left:-2rem;top:0.3rem;width:10px;height:10px;border-radius:50%;background:var(--or);border:2px solid var(--pbg)}
.tl-year{font-family:var(--hf);font-size:1.2rem;color:var(--or);margin-bottom:0.2rem}
.tl-title{font-family:var(--hf);font-size:1rem;color:var(--dark);margin-bottom:0.3rem;font-weight:400}
.tl-desc{font-size:0.78rem;color:var(--tx2);line-height:1.6}
.trusted-section{padding:3rem 2rem;text-align:center;background:var(--pbg)}
.trusted-section h3{font-family:var(--hf);font-size:1.2rem;color:var(--dark);font-weight:400;margin-bottom:1rem}
.trusted-names{font-size:0.72rem;color:var(--tx3);letter-spacing:0.08em;max-width:600px;margin:0 auto;line-height:2.2}
.story-teaser{padding:4rem 2rem;text-align:center;background:var(--cream);border-top:1px solid var(--bd)}
.story-teaser-text{font-family:var(--hf);font-style:italic;font-size:clamp(1rem,2vw,1.3rem);color:var(--dark);max-width:500px;margin:0 auto 1.5rem;line-height:1.6}
.story-teaser-link{font-size:0.6rem;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:1px solid var(--or);padding-bottom:2px;transition:all 0.3s}
.story-teaser-link:hover{color:var(--ter);border-color:var(--ter)}
@media(max-width:768px){
  .story-section{padding:3rem 1.5rem}
  .story-section p{font-size:0.9rem}
  .mission-text{font-size:1.1rem!important}
  .values-grid{gap:0.5rem}
  .value-card{width:45%}
  .timeline{padding-left:1.5rem}
  .tl-item{padding-left:1rem}
}
