/* Immersive four-chapter walkthrough */
.story-section{position:relative;background:radial-gradient(ellipse 38% 16% at 12% 12%,#58764b28,transparent 80%),linear-gradient(180deg,#07110d,#12241a 48%,#08150f)}
.story-heading{margin-bottom:58px}
.story-layout{gap:clamp(28px,4vw,70px)}
.story-steps{position:relative}
.story-steps::before{content:"";position:absolute;top:10%;bottom:10%;left:0;width:1px;background:linear-gradient(transparent,#d7eab641 20%,#d7eab641 80%,transparent)}
.story-step{position:relative;min-height:78vh;padding:28px 0 28px 25px;border:0!important}
.story-step::before{content:"";position:absolute;left:-5px;top:50%;width:10px;height:10px;border:1px solid #d4eabbb0;border-radius:50%;background:#183021;box-shadow:0 0 0 7px #d1e9ae0c;transform:translateY(-50%) scale(.75);transition:transform .5s,background .5s,box-shadow .5s}
.story-step.is-active::before{background:#daedc5;box-shadow:0 0 0 9px #d8ebbc21,0 0 26px #c9e6ae9b;transform:translateY(-50%) scale(1)}
.story-step-copy{padding:30px 32px;border:1px solid #d1e9bd38;border-radius:26px;background:linear-gradient(140deg,#d7efc819,#d8eac407 65%);box-shadow:inset 0 1px #ffffff25,0 25px 65px #0003;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(22px) scale(.97);transition:opacity .6s,transform .7s cubic-bezier(.19,1,.22,1),border-color .5s,box-shadow .5s}
.story-step.is-active .story-step-copy{border-color:#dcf0c475;box-shadow:inset 0 1px #ffffff45,0 26px 80px #0006,0 0 55px #acc99017;transform:translateY(0) scale(1)}
.story-step h3{font-size:clamp(2rem,3vw,3.5rem)}
.story-step p{margin-bottom:0}
.story-stage{isolation:isolate;border-color:#d8edc04f;background:radial-gradient(ellipse 65% 52% at 47% 45%,#44664a57,transparent 79%),linear-gradient(140deg,#172e20,#08170f 85%);box-shadow:inset 0 1px #ffffff2e,0 30px 95px #0007}
.story-stage::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.38;background:linear-gradient(#e3f7d10a 1px,transparent 1px),linear-gradient(90deg,#e3f7d10a 1px,transparent 1px);background-size:45px 45px;mask-image:radial-gradient(circle at 50% 45%,black,transparent 75%);pointer-events:none}
.stage-ambient{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;left:12%;top:17%;z-index:-1;transform:translateY(var(--ambient-shift,0px));background:radial-gradient(circle,#b5dc974d 0,#60946c25 38%,transparent 68%);filter:blur(20px);transition:background .7s}
.story-stage[data-active="1"] .stage-ambient{background:radial-gradient(circle,#c8ebad55 0,#528f6e24 38%,transparent 68%)}
.story-stage[data-active="2"] .stage-ambient{background:radial-gradient(circle,#e4c88b40 0,#7d9b5c24 38%,transparent 68%)}
.story-stage[data-active="3"] .stage-ambient{background:radial-gradient(circle,#b6e4c75c 0,#42785a24 38%,transparent 68%)}
.stage-hud{position:absolute;top:32px;left:34px;right:34px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#d8ead1;text-shadow:0 2px 9px #0008}
.stage-hud span{font-size:.59rem;letter-spacing:.2em;font-weight:700}
.stage-hud strong{font-size:.7rem;font-weight:500;padding:7px 12px;border:1px solid #e5f8d35e;border-radius:100px;background:#e5f8d312;backdrop-filter:blur(12px)}
.stage-phone{filter:drop-shadow(0 30px 24px #0009);will-change:transform}
.story-stage[data-active="0"] .stage-phone{transform:translate(48%,calc(-2% + var(--scroll-lift,0px))) rotate(-8deg) scale(.86)}
.story-stage[data-active="1"] .stage-phone{transform:translate(3%,var(--scroll-lift,0px)) rotate(-2deg) scale(1.08)}
.story-stage[data-active="2"] .stage-phone{transform:translate(-4%,var(--scroll-lift,0px)) rotate(2deg) scale(1.1)}
.story-stage[data-active="3"] .stage-phone{transform:translate(0,var(--scroll-lift,0px)) rotate(0) scale(1.12)}
.stage-index{bottom:30px}
.stage-track{height:3px;border-radius:5px;overflow:hidden}
.stage-track i{border-radius:5px;box-shadow:0 0 17px #d9efbb}
.ai-shot{display:flex;justify-content:center;align-items:flex-start;height:455px;background:radial-gradient(ellipse at 50% 20%,#66896133,transparent 75%),#07150e}
.ai-shot img{position:static;left:auto;top:auto;width:min(100%,390px);height:auto;max-width:390px;object-fit:contain;object-position:top;transform:none}

/* Contact form */
.contact{text-align:left}
.contact-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,6vw,90px)}
.contact h2{font-size:clamp(2.55rem,4.4vw,4.9rem)}
.contact-intro>p:not(.section-kicker){max-width:560px;margin:0 0 28px;color:#d1ddcc}
.contact-form{position:relative;padding:32px;border:1px solid #d7ecc07b;border-radius:30px;background:linear-gradient(145deg,#dceccf19,#d8edca09 63%);box-shadow:inset 0 1px #ffffff50,0 28px 75px #0007;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-form label{display:block;margin-bottom:17px;font-size:.77rem;font-weight:700;color:#e9f5e1}
.contact-form input:not([type="hidden"]),.contact-form textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;border:1px solid #d5ebc66b;border-radius:13px;background:#06140ead;color:#f4f8f2;font:500 .86rem/1.5 Poppins,Arial,sans-serif;box-shadow:inset 0 1px #ffffff15;outline:none;transition:border-color .25s,box-shadow .25s}
.contact-form textarea{resize:vertical;min-height:145px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#d7edc9;box-shadow:0 0 0 4px #d7edc91a}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#91a790}
.contact-privacy{font-size:.68rem;margin:0 0 18px;color:#b2c5ae}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-form .button{min-width:210px;cursor:pointer}
.contact-form .button:disabled{opacity:.6;cursor:wait}
.contact-status{min-height:2.4em;font-size:.72rem;margin:15px 0 0;color:#bdd1b7}
.contact-status[data-state="error"]{color:#ffb2a8}
.contact-status[data-state="success"]{color:#d7efc0}
.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(max-width:760px){
  .story-section{padding-block:90px 95px}
  .story-heading{margin-bottom:25px}
  .story-layout{display:flex;flex-direction:column;gap:0}
  .story-stage{display:flex;order:-1;align-self:stretch;flex:none;position:sticky;top:72px;z-index:2;height:clamp(340px,52svh,470px);min-height:0;margin-bottom:0;border-radius:27px;box-shadow:inset 0 1px #ffffff2c,0 18px 55px #0008}
  .story-stage::after{inset:12px;border-radius:19px}
  .story-steps{order:1;z-index:3}
  .story-steps::before{display:none}
  .story-step{min-height:64svh;display:flex;justify-content:flex-end;padding:18px 5px 24px;border:0}
  .story-step::before{display:none}
  .story-step-copy,.story-step.is-active .story-step-copy{max-width:none;width:100%;opacity:1;padding:20px 21px;background:linear-gradient(145deg,#193524f4,#0c2016f3);border-color:#dcefc268;box-shadow:0 15px 50px #0009,inset 0 1px #ffffff32;backdrop-filter:blur(19px);transform:translateY(14px) scale(.98)}
  .story-step.is-active .story-step-copy{transform:translateY(0) scale(1)}
  .story-step h3{font-size:clamp(1.65rem,6vw,2.6rem);margin-bottom:9px}
  .story-step p{font-size:.78rem;line-height:1.55}
  .step-number{margin-bottom:10px;font-size:.7rem}
  .mobile-shot{display:none}
  .stage-hud{top:20px;left:20px;right:20px}
  .stage-hud span{font-size:.48rem;letter-spacing:.13em}
  .stage-hud strong{font-size:.59rem;padding:5px 9px}
  .stage-artwork{left:4%;top:24%;width:44%;transform:perspective(650px) rotateY(-14deg) rotateZ(-3deg);filter:drop-shadow(12px 20px 14px #000b)}
  .stage-phone{width:43%;max-width:210px}
  .story-stage[data-active="0"] .stage-phone{transform:translate(44%,calc(6% + var(--scroll-lift,0px))) rotate(-9deg) scale(.95)}
  .story-stage[data-active="1"] .stage-phone,.story-stage[data-active="2"] .stage-phone,.story-stage[data-active="3"] .stage-phone{transform:translate(0,var(--scroll-lift,0px)) rotate(0) scale(1.16)}
  .story-stage[data-active="1"] .stage-artwork,.story-stage[data-active="2"] .stage-artwork,.story-stage[data-active="3"] .stage-artwork{transform:perspective(650px) translate(-15%,0) rotateY(-24deg) scale(.82);opacity:.18}
  .stage-signal{left:47%;top:45%}
  .stage-index{left:20px;right:20px;bottom:16px;font-size:.65rem}
  .story-end{padding-top:20px}
  .ai-shot{height:420px}
  .contact-inner{grid-template-columns:1fr;gap:35px}
  .contact-form{padding:24px}
}
@media(max-width:420px){
  .story-stage{height:clamp(325px,50svh,420px)}
  .story-step{min-height:60svh}
  .story-step-copy{padding:18px!important}
  .contact-form-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:20px}
}
