:root{
  --bg:#f3f4f0;
  --paper:#f8f8f4;
  --ink:#111312;
  --muted:#737975;
  --line:#cfd4ce;
  --green:#9fd3a5;
  --green-dark:#6e9f75;
  --green-soft:#dcecdf;
  --dark:#191c1b;
  --dark-2:#232725;
  --max:1440px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

.noise{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

.site-header{height:84px;display:flex;align-items:center;gap:30px;padding:0 4vw;border-bottom:1px solid rgba(17,19,18,.13);position:sticky;top:0;z-index:80;background:rgba(248,248,244,.9);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;min-width:215px}
.brand-mark{font-size:38px;line-height:1;color:#162219}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-size:20px;letter-spacing:-.04em}
.brand-copy small{margin-top:7px;font:9px/1.35 DM Mono,monospace;letter-spacing:.16em;color:#858985}
.desktop-nav{display:flex;align-items:center;gap:34px;margin:auto;font:11px DM Mono,monospace}
.desktop-nav a{padding:12px 0;position:relative}
.desktop-nav a::after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:6px;background:var(--ink);transition:.25s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.header-actions{display:flex;align-items:center;gap:18px}
.cart-btn{font-size:28px;transform:rotate(-10deg)}
.contact-pill{border:1px solid #9da39e;border-radius:999px;padding:10px 22px;font:10px DM Mono,monospace}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:none;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;left:9px;right:9px;height:1px;background:#222;transition:.25s}
.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:25px}
.mobile-nav{display:none}

.section-grid,.section-shell,.gallery,footer{max-width:var(--max);margin:auto}
.hero{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(540px,1.08fr);min-height:820px;position:relative;background:
 linear-gradient(90deg,rgba(255,255,255,.36) 1px,transparent 1px),
 linear-gradient(rgba(255,255,255,.36) 1px,transparent 1px),
 radial-gradient(circle at 62% 18%,rgba(159,211,165,.15),transparent 31%);
 background-size:80px 80px,80px 80px,auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 47%,rgba(18,21,19,.04) 47.2% 47.35%,transparent 47.5%);pointer-events:none}
.hero-copy{padding:58px 34px 190px 52px;position:relative;z-index:4}
.eyebrow-card{display:flex;gap:18px;align-items:center}
.pixel-icon{width:62px;height:62px;background:var(--green);display:grid;place-items:center;color:white;font-size:34px;clip-path:polygon(0 0,100% 0,100% 78%,80% 78%,80% 100%,0 100%)}
.eyebrow-card div{display:flex;flex-direction:column;font:10px/1.6 DM Mono,monospace;color:#808782;letter-spacing:.11em}
.tiny-meter{display:flex;gap:6px;margin:22px 0 4px}
.tiny-meter i{display:block;height:7px;width:28px;background:#b7d9bb}.tiny-meter i:nth-last-child(-n+2){width:6px;background:#1a1c1b}
.script-note{position:absolute;left:270px;top:88px;font:600 italic 36px/.92 "Cormorant Garamond",Georgia,serif;color:#8fc39a;transform:rotate(-10deg);opacity:.9}
.hero h1{font-size:clamp(66px,7vw,111px);line-height:.83;letter-spacing:-.075em;margin-top:52px;max-width:690px;font-weight:900}
.hero h1 em{font-style:normal;color:#76aa7d}
.hero-sub{margin-top:22px;font-size:15px;line-height:1.7;color:#4d5350}.hero-sub strong{color:#111}
.hero-cta{display:flex;align-items:center;gap:28px;margin-top:25px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;border:0;cursor:pointer;padding:18px 23px;font:700 11px DM Mono,monospace;letter-spacing:.02em;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:var(--dark);color:white}.btn-green{background:var(--green);color:#102014}
.scroll-hint{font:10px/1.5 DM Mono,monospace;color:#929892}.scroll-hint span{display:block;font-size:22px}

.hero-visual{position:relative;overflow:hidden;min-height:670px}
.hero-watermark{position:absolute;font:900 160px/1 Inter,sans-serif;color:rgba(17,19,18,.035);top:80px;left:-18px;letter-spacing:-.08em}
.character-shell{position:absolute;left:2%;right:8%;bottom:0;height:94%;display:flex;align-items:flex-end;justify-content:center}
.character-img{position:absolute;bottom:0;max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.12));z-index:2}
.character-img[src="assets/hero-character.png"]{z-index:2}
.character-placeholder{width:72%;height:86%;margin-bottom:-2%;border-radius:46% 46% 12% 12%/26% 26% 8% 8%;background:
 radial-gradient(circle at 50% 35%,#e7eddf 0 18%,transparent 18.5%),
 radial-gradient(circle at 50% 45%,#cadbc7 0 28%,transparent 28.5%),
 linear-gradient(150deg,#25322a 0 38%,#9dcca4 38% 53%,#ecefe9 53% 73%,#1d221f 73%);opacity:.28;display:grid;place-items:center;z-index:1;filter:grayscale(.2)}
.character-placeholder span{font:12px/1.5 DM Mono,monospace;text-align:center;letter-spacing:.12em;color:#223227;background:rgba(255,255,255,.72);padding:12px 14px}
.expression-stack{position:absolute;right:26px;top:72px;display:flex;flex-direction:column;gap:14px;z-index:8}
.expression{width:96px;border:0;background:transparent;text-align:left;cursor:pointer;opacity:.72;transition:.2s}.expression:hover,.expression.active{opacity:1;transform:translateX(-4px)}
.face-preview{height:69px;border:1px solid #222;background:linear-gradient(145deg,#2b342e,#edf0eb);position:relative;overflow:hidden}
.face-preview::after{content:"";position:absolute;width:45px;height:30px;border-radius:50%;background:#e8c5be;left:25px;top:19px;box-shadow:0 -11px 0 -5px #212421}
.face-b::after{transform:scaleY(.82)}.face-c::after{height:3px;top:37px}
.expression span{display:block;font:8px DM Mono,monospace;background:#181b19;color:white;width:max-content;padding:2px 4px;margin-top:-4px;position:relative}
.hero-side-copy{position:absolute;right:18px;bottom:115px;width:115px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;z-index:8}.rabbit{font-size:28px}.hero-side-copy small{font:9px/1.4 DM Mono,monospace;color:#818782}.hero-side-copy strong{font-size:16px;line-height:1;color:#78a97f}

.hero-bottom{grid-column:1/-1;position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(90deg,#1b1e1c,#232625);color:#f6f6f2;display:grid;grid-template-columns:1.18fr .8fr .68fr 1fr;align-items:stretch;z-index:15;border-top:1px solid #2d3230}
.hero-bottom>div,.hero-bottom blockquote{padding:24px 38px;border-right:1px solid rgba(255,255,255,.16)}
.hero-bottom-left small{font:10px DM Mono,monospace;letter-spacing:.28em}.signature{font:600 italic 34px/.9 "Cormorant Garamond",Georgia,serif;color:#9fd3a5;margin-top:20px;transform:rotate(-7deg)}
.quality-copy strong{font:14px/1.15 DM Mono,monospace;font-weight:400}.micro-icons{display:flex;gap:26px;font-size:25px;margin-top:25px}
.quality-list{display:flex;flex-direction:column;gap:10px;font:10px DM Mono,monospace;color:#858a87}
.hero-bottom blockquote{font-size:13px;line-height:1.6;display:flex;align-items:center;font-style:normal}

.section-shell{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:58px 44px;border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative;background:rgba(248,248,244,.72)}
.section-number{position:absolute;left:42px;top:28px;font-weight:800;font-size:18px;text-decoration:underline;text-underline-offset:6px}
.section-heading{padding-top:38px}.section-heading h2{font-size:31px;line-height:.95;letter-spacing:-.05em}.section-heading p{margin-top:12px;color:#79807b;font-size:13px;line-height:1.5}
.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.price-card{background:#f9faf7;border:1px solid #b9c0ba;border-radius:4px;padding:11px;min-height:415px;display:flex;flex-direction:column;box-shadow:0 10px 20px rgba(0,0,0,.02)}
.card-art{height:130px;border-radius:3px;border:1px solid #d4d8d3;background-color:#dedfd9;overflow:hidden;position:relative}
.card-art::before,.card-art::after{content:"";position:absolute}
.art-eye{background:linear-gradient(165deg,#eac7bf 0 35%,#232724 35% 47%,#e7d6ca 47%)}
.art-eye::before{width:112px;height:58px;border-radius:50%;background:#a9bd72;left:48px;top:38px;box-shadow:inset 0 -12px 0 rgba(60,75,42,.2);border:7px solid #232723}.art-eye::after{width:16px;height:16px;background:#222;border-radius:50%;left:96px;top:59px}
.art-face{background:linear-gradient(115deg,#242925 0 27%,#efcec5 27% 76%,#a9c7a7 76%)}.art-face::before{width:70px;height:22px;border-radius:0 0 50% 50%;border-bottom:9px solid #743d3e;left:92px;top:74px}.art-face::after{width:12px;height:5px;background:#222;box-shadow:52px 0 #222;left:72px;top:54px}
.art-body{background:linear-gradient(145deg,#afcfb0 0 32%,#f2f3ef 32% 54%,#161918 54% 71%,#a8cfa9 71%)}
.card-title-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:10px}.card-title-row h3{font-size:19px;letter-spacing:-.05em}.card-title-row span{font:8px DM Mono,monospace;border:1px solid #aeb4af;border-radius:3px;padding:6px 8px;white-space:nowrap}.card-title-row .tag-green{background:#92c899;border-color:#92c899;color:#17371e}
.price{font-size:25px;margin:10px 0 8px}.price-card ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#666d68}.price-card li::before{content:"◆";font-size:5px;color:#161918;vertical-align:middle;margin-right:8px}.outline-btn{margin-top:auto;border:1px solid #aab0ab;background:transparent;padding:12px 13px;display:flex;justify-content:space-between;font:10px DM Mono,monospace;cursor:pointer}.green-btn{background:#9fd3a5;border-color:#9fd3a5}.stock-card{background:#202321;color:#f3f4ef;border-color:#202321}.stock-art{height:130px;border:1px solid #59605b;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#2b2e2c,#1f2220)}.stock-art span{font-size:43px;color:#b7b9b6}.stock-art i{position:absolute;right:10px;bottom:8px;color:#d7ded8}.stock-price{font-size:16px;margin:9px 0}.stock-price em{font-style:normal;font-size:24px;color:#9fd3a5}.stock-card ul{color:#c8ccc8}.stock-card li::before{color:#9fd3a5}.light-btn{border-color:#838984;color:white}

.features{border-top:1px solid #dce0da;padding-top:42px;padding-bottom:42px}.feature-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.feature-item{min-height:145px;background:#f0f1ed;border:1px solid #e2e4e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.feature-item b{font-size:35px;font-weight:400}.feature-item span{font-size:11px;line-height:1.35;color:#454b47}
.workflow{border-top:1px solid #dce0da;padding-top:44px;padding-bottom:44px}.workflow-track{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center;background:#eff0ed;border:1px solid #e0e2df}.workflow-track>i{text-align:center;font-size:28px;font-style:normal}.workflow-step{min-height:112px;display:flex;align-items:center;justify-content:center;gap:15px}.workflow-step b{font-size:30px;font-weight:400}.workflow-step span{font-size:11px;line-height:1.3}.workflow-step small{display:inline-block;font:8px DM Mono,monospace;background:#191b1a;color:white;padding:2px 4px;margin-bottom:4px}

.gallery{min-height:290px;background:#1b1e1c;color:white;display:grid;grid-template-columns:1.12fr .6fr 1.28fr;align-items:center;position:relative;overflow:hidden}.gallery-feature{height:100%;min-height:290px;position:relative;background:linear-gradient(125deg,#c5c8bf 0 28%,#262a27 28% 48%,#98b79b 48% 60%,#e0c4bd 60%)}.eye-graphic{position:absolute;width:180px;height:80px;border-radius:50%;background:#a8bd71;border:12px solid #222;left:80px;top:95px;box-shadow:0 0 0 18px rgba(239,208,201,.55)}.eye-graphic::after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:#1f241f;left:64px;top:14px}.gallery-copy{padding:30px}.gallery-copy h2{font-size:28px}.gallery-copy p{font-size:12px;color:#c5c9c6;line-height:1.6;margin:16px 0 22px}.gallery-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:28px}.gallery-card{height:145px;border:1px solid #757c77;background:linear-gradient(155deg,#292e2a 0 35%,#e4c5bd 35% 61%,#9fc3a3 61%);cursor:pointer;position:relative;transition:.2s}.gallery-card:hover{transform:translateY(-5px)}.gallery-card:nth-child(2){filter:saturate(.8)}.gallery-card:nth-child(3){filter:grayscale(.18)}.gallery-card span{position:absolute;left:8px;bottom:6px;font:8px DM Mono,monospace;background:#151716;color:white;padding:4px}

.faq{border-top:1px solid var(--line)}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid #cdd1cc;background:#f7f8f4}.faq-item button{width:100%;border:0;background:transparent;padding:20px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700}.faq-item button b{font-size:22px;font-weight:400;transition:.25s}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.faq-answer p{overflow:hidden;padding:0 20px;color:#69706b;font-size:13px;line-height:1.6}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer p{padding-bottom:20px}.faq-item.open button b{transform:rotate(45deg)}

footer{min-height:200px;background:#191c1b;color:white;display:grid;grid-template-columns:1fr .8fr .6fr auto;gap:30px;align-items:center;padding:42px;border-left:1px solid #303431;border-right:1px solid #303431}.footer-brand{display:flex;align-items:center;gap:22px}.footer-logo{width:76px;height:76px;border:1px solid #8a918c;display:grid;place-items:center;font-size:42px;font-weight:900}.footer-brand strong{display:block;letter-spacing:.18em}.footer-brand small{display:block;font:9px/1.4 DM Mono,monospace;color:#bcc1bd;margin-top:8px;letter-spacing:.18em}.footer-quote{text-align:center;font:20px/1.25 DM Mono,monospace}.socials{display:flex;gap:20px;font-size:20px}

.modal,.gallery-modal{position:fixed;inset:0;z-index:110;display:none}.modal.show,.gallery-modal.show{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(5px)}.modal-panel{position:absolute;width:min(520px,calc(100vw - 32px));background:#f6f7f3;left:50%;top:50%;transform:translate(-50%,-50%);padding:42px;border:1px solid #bfc4bf}.modal-panel small,.gallery-modal-head small{font:10px DM Mono,monospace;color:#7d847f;letter-spacing:.16em}.modal-panel h2{font-size:52px;line-height:1;margin:12px 0}.modal-panel p{color:#686f6a;line-height:1.7;margin-bottom:30px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.gallery-modal-panel{position:absolute;inset:5vh 5vw;background:#f4f5f1;padding:34px;overflow:auto}.gallery-modal-head h2{font-size:46px;margin:7px 0 24px}.gallery-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-modal-grid div{aspect-ratio:1/1.05;background:linear-gradient(145deg,#1d201e 0 38%,#b2cfb3 38% 58%,#e8c9c1 58%);position:relative}.gallery-modal-grid span{position:absolute;left:10px;bottom:10px;background:#111;color:#fff;padding:5px;font:9px DM Mono,monospace}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}

@media (max-width:1100px){
  .desktop-nav{gap:18px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:70px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom>.quality-list,.hero-bottom blockquote{display:none}.section-shell{grid-template-columns:190px 1fr}.package-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery-feature{display:none}.gallery-cards{padding-left:0}.workflow-track{grid-template-columns:1fr}.workflow-track>i{transform:rotate(90deg)}footer{grid-template-columns:1fr 1fr}.socials{justify-self:end}
}

@media (max-width:760px){
  .site-header{height:72px;padding:0 18px}.brand{min-width:0}.brand-mark{font-size:30px}.brand-copy strong{font-size:17px}.brand-copy small{display:none}.desktop-nav,.contact-pill,.cart-btn{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.mobile-nav{position:fixed;left:0;right:0;top:72px;background:#f5f6f2;z-index:79;padding:18px;display:flex;flex-direction:column;gap:2px;transform:translateY(-130%);transition:.3s;border-bottom:1px solid #ccc}.mobile-nav.open{transform:none}.mobile-nav a{padding:15px;border-bottom:1px solid #dedfdb;font:12px DM Mono,monospace}
  .hero{display:block;min-height:auto;border:0}.hero-copy{padding:42px 20px 32px}.script-note{display:none}.hero h1{font-size:54px;margin-top:34px}.hero-sub{font-size:13px}.hero-cta{align-items:flex-start}.btn{gap:30px}.hero-visual{min-height:520px}.character-shell{left:0;right:0}.expression-stack{right:14px;top:30px}.expression{width:78px}.face-preview{height:57px}.hero-side-copy{display:none}.hero-bottom{position:relative;height:auto;grid-template-columns:1fr 1fr}.hero-bottom>div{padding:22px}.signature{font-size:25px}
  .section-shell{display:block;padding:70px 18px 35px;border:0}.section-number{left:19px;top:28px}.section-heading{padding-top:0;margin-bottom:24px}.package-grid{grid-template-columns:1fr}.price-card{min-height:390px}.card-art,.stock-art{height:150px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-item{min-height:120px}.workflow-track{display:flex;flex-direction:column;padding:10px}.workflow-step{width:100%;min-height:90px}.workflow-track>i{transform:rotate(90deg)}.gallery{display:block}.gallery-copy{padding:34px 20px}.gallery-cards{padding:0 20px 30px;grid-template-columns:1fr 1fr}.gallery-card:last-child{display:none}.faq-list{margin-top:18px}footer{grid-template-columns:1fr;padding:34px 20px}.footer-quote{text-align:left}.socials{justify-self:start}.gallery-modal-grid{grid-template-columns:1fr 1fr}.gallery-modal-panel{inset:2vh 3vw;padding:20px}.gallery-modal-head h2{font-size:34px}
}

/* Vall Store v2 — refined typography + motion */
.script-note,.signature{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:600;
  letter-spacing:-.035em;
}
.script-note{font-size:36px;line-height:.92}
.signature{font-size:34px;line-height:.9}
.service-price{font:700 18px/1 DM Mono,monospace;letter-spacing:.08em;margin:14px 0 12px}
.tiktok-only{font:10px/1.5 DM Mono,monospace;letter-spacing:.16em;color:#b8beb9;border-left:1px solid #5b625d;padding-left:15px}

/* subtle premium hover language */
.price-card,.feature-item,.workflow-step,.gallery-card{will-change:transform}
.price-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.price-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(20,28,23,.08);border-color:#aeb8af}
.feature-item{transition:transform .3s ease,background .3s ease}
.feature-item:hover{transform:translateY(-5px);background:#f7f8f4}
.workflow-step{transition:transform .3s ease,background .3s ease}
.workflow-step:hover{transform:translateY(-4px);background:#f7f8f4}

/* cinematic section entry */
.reveal{opacity:0;transform:translate3d(0,28px,0);filter:blur(4px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal.in-view{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
[data-stagger="1"]{--reveal-delay:60ms}[data-stagger="2"]{--reveal-delay:130ms}[data-stagger="3"]{--reveal-delay:200ms}[data-stagger="4"]{--reveal-delay:270ms}

/* scroll progress bar */
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:200;pointer-events:none;transform-origin:left;transform:scaleX(0);background:var(--green-dark)}

/* parallax layers: JS only changes translate custom property */
[data-parallax]{--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0)}
.script-note[data-parallax]{transform:translate3d(0,var(--parallax-y),0) rotate(-8deg)}
.character-shell[data-parallax]{transform:translate3d(0,var(--parallax-y),0)}
.hero-watermark[data-parallax]{transform:translate3d(0,var(--parallax-y),0)}

/* mouse-follow hero depth */
.hero-visual{--mx:0px;--my:0px}
.character-img{transform:translate3d(var(--mx),var(--my),0);transition:transform .15s linear}
.hero-watermark{transition:transform .15s linear}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-parallax],.character-img{transform:none!important}
}

/* ===== Vall Store v3 / service dossier ===== */
.service-dossier{z-index:300}
.service-dossier.show{display:block}
.service-dossier .modal-backdrop{background:rgba(10,12,11,.78);backdrop-filter:blur(10px)}
.dossier-panel{position:absolute;inset:2.2vh 2.2vw;background:#eff1ea;overflow:hidden;border:1px solid rgba(255,255,255,.28);box-shadow:0 35px 100px rgba(0,0,0,.35);display:grid;grid-template-rows:68px 1fr 58px;transform:translateY(34px) scale(.985);opacity:0;transition:transform .48s cubic-bezier(.2,.78,.2,1),opacity .35s ease}
.service-dossier.show .dossier-panel{transform:none;opacity:1}
.dossier-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;background:#202321;color:#f4f5ef;border-bottom:4px solid #9fd3a5;position:relative;z-index:5}
.dossier-brand{display:flex;align-items:center;gap:10px}.dossier-symbol{font-size:28px;color:#a7d8ab}.dossier-brand strong{display:block;font-size:13px;letter-spacing:.08em}.dossier-brand small{display:block;margin-top:3px;font:8px DM Mono,monospace;letter-spacing:.15em;color:#969d98}
.dossier-version{font:10px DM Mono,monospace;letter-spacing:.1em;color:#b6bbb7}.dossier-version b{color:#a7d8ab}
.dossier-close{justify-self:end;border:1px solid #606762;background:transparent;color:#fff;padding:9px 12px;font:9px DM Mono,monospace;letter-spacing:.08em;cursor:pointer;transition:.2s}.dossier-close:hover{background:#a7d8ab;color:#142016;border-color:#a7d8ab}
.dossier-layout{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(420px,1.58fr) minmax(260px,.8fr);min-height:0}
.dossier-left{padding:38px 30px 30px;border-right:1px solid #c7ccc5;background:linear-gradient(180deg,#f2f3ed,#e8ebe4);position:relative;overflow:auto}.dossier-kicker{font:9px DM Mono,monospace;letter-spacing:.2em;color:#788079}.dossier-left h2{font-size:clamp(48px,5.5vw,92px);line-height:.82;letter-spacing:-.07em;margin:20px 0 18px;overflow-wrap:anywhere}.dossier-left>p:not(.dossier-kicker){font-size:13px;line-height:1.6;color:#6c746e;margin-bottom:30px}
.dossier-stat{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:16px 0;border-top:1px solid #c9cec7}.dossier-stat>span{font:800 22px DM Mono,monospace;color:#6ea276}.dossier-stat b{display:block;font:700 10px DM Mono,monospace;letter-spacing:.09em}.dossier-stat small{display:block;margin-top:6px;font-size:11px;line-height:1.45;color:#7a817c}.dossier-contact{margin-top:22px;width:100%}
.dossier-stage{position:relative;overflow:hidden;background:#dce1d9;min-width:0}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(19,22,20,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(19,22,20,.07) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%)}
.stage-label{position:absolute;z-index:7;display:flex;align-items:center;gap:8px;font:9px DM Mono,monospace;letter-spacing:.09em}.stage-label-top{top:20px;left:22px}.stage-label b{background:#1a1d1b;color:#fff;padding:5px 7px}.stage-word{position:absolute;right:-4%;top:5%;font-size:clamp(100px,16vw,250px);line-height:.8;font-weight:900;letter-spacing:-.09em;color:rgba(20,27,22,.06);user-select:none}
.dossier-character-wrap{position:absolute;inset:50px 30px 64px;display:flex;align-items:flex-end;justify-content:center}.dossier-character-fallback{position:absolute;bottom:-2%;width:min(72%,520px);height:91%;background:linear-gradient(145deg,#202522 0 24%,#a8cdaa 24% 42%,#eff1ea 42% 68%,#18201b 68%);clip-path:polygon(31% 0,65% 0,76% 14%,81% 30%,96% 63%,76% 71%,69% 100%,31% 100%,25% 74%,5% 67%,19% 29%);opacity:.38;display:grid;place-items:center}.dossier-character-fallback span{font:800 14px/1.1 DM Mono,monospace;letter-spacing:.14em;text-align:center;color:#314037;background:rgba(239,241,234,.72);padding:12px}
#dossierCharacter{position:absolute;bottom:0;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.16));z-index:3;transition:transform .35s ease,filter .35s ease}
.hotspot{position:absolute;z-index:6;width:30px;height:30px;border-radius:50%;background:#1c201d;color:#fff;border:3px solid #b1dfb6;display:grid;place-items:center;font:700 9px DM Mono,monospace;font-style:normal;box-shadow:0 0 0 0 rgba(159,211,165,.45);animation:hotspotPulse 2.1s infinite;cursor:pointer;transition:.2s}.hotspot:hover,.hotspot.active{transform:scale(1.14);background:#a6d7ab;color:#142016;border-color:#1c201d}.hotspot::after{content:attr(data-hotspot);position:absolute;left:34px;top:4px;background:#eff1ea;border:1px solid #1d211e;color:#1d211e;padding:4px 6px;white-space:nowrap;font:700 7px DM Mono,monospace;letter-spacing:.08em;opacity:0;transform:translateX(-5px);transition:.2s;pointer-events:none}.hotspot:hover::after,.hotspot.active::after{opacity:1;transform:none}
.hs-head{left:50%;top:12%}.hs-eye{left:43%;top:25%}.hs-mouth{left:54%;top:33%}.hs-hair{left:67%;top:18%}.hs-body{left:44%;top:58%}.hs-accessory{left:66%;top:52%}
@keyframes hotspotPulse{0%,100%{box-shadow:0 0 0 0 rgba(159,211,165,.38)}50%{box-shadow:0 0 0 10px rgba(159,211,165,0)}}
.stage-caption{position:absolute;z-index:8;left:20px;right:20px;bottom:16px;background:rgba(28,32,29,.92);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-left:4px solid #9fd3a5}.stage-caption b{font:700 11px DM Mono,monospace;letter-spacing:.08em}.stage-caption span{font-size:10px;color:#c8ceca;text-align:right;line-height:1.4}
.dossier-right{padding:28px 24px;background:#f4f5f0;border-left:1px solid #c7ccc5;display:flex;flex-direction:column;min-width:0;overflow:auto}.right-head{display:flex;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:3px solid #1c201d;font:9px DM Mono,monospace;letter-spacing:.1em}.right-head b{color:#66966e}.work-list{display:flex;flex-direction:column;margin-top:3px}.work-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #d3d7d1;cursor:pointer;transition:.2s}.work-item:hover,.work-item.active{padding-left:7px;background:#e8eee5}.work-item>span{font:700 9px DM Mono,monospace;color:#6b9d72}.work-item b{font-size:11px;letter-spacing:.02em}.work-item small{font:8px DM Mono,monospace;color:#939a95}.deliverable-box{margin-top:auto;background:#1d211e;color:#fff;padding:18px;border-left:5px solid #9fd3a5}.deliverable-box>span{font:8px DM Mono,monospace;letter-spacing:.15em;color:#9fa7a1}.deliverable-box strong{display:block;font-size:18px;margin:8px 0}.deliverable-box p{font-size:10px;line-height:1.5;color:#c9cecb}.dossier-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:13px;border:1px solid #c8cdc7}.dossier-tabs button{border:0;background:transparent;padding:11px 8px;font:700 8px DM Mono,monospace;letter-spacing:.08em;cursor:pointer}.dossier-tabs button.active{background:#a5d4aa;color:#162019}
.dossier-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;background:#202321;color:#fff;border-top:4px solid #9fd3a5;font:9px DM Mono,monospace;letter-spacing:.09em}.dossier-footer strong{font-size:14px;letter-spacing:.04em}.dossier-footer span:last-child{text-align:right;color:#a6ada8}
.service-dossier[data-mode="Rigging"] .dossier-stage{background:#d9e1dc}.service-dossier[data-mode="Parting + Rigging"] .dossier-stage{background:#dce4d8}.service-dossier[data-mode="Complex Style"] .dossier-stage{background:#d7ddd5}
.service-dossier[data-tab="delivery"] .hotspot{opacity:.18;animation:none}.service-dossier[data-tab="delivery"] #dossierCharacter{transform:scale(.94);filter:grayscale(.15) drop-shadow(0 16px 20px rgba(0,0,0,.12))}.service-dossier[data-tab="delivery"] .stage-grid{background-size:64px 64px}

@media (max-width:1050px){
  .dossier-panel{inset:1vh 1vw;grid-template-rows:62px 1fr 52px}.dossier-layout{grid-template-columns:220px 1fr}.dossier-right{grid-column:1/-1;display:grid;grid-template-columns:1fr 260px;gap:18px;border-left:0;border-top:1px solid #c7ccc5;max-height:235px}.work-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.deliverable-box{margin-top:0}.dossier-tabs{grid-column:2}.dossier-footer span{display:none}.dossier-footer{grid-template-columns:1fr;justify-items:center}
}
@media (max-width:760px){
  .dossier-panel{inset:0;grid-template-rows:58px 1fr 48px}.dossier-topbar{grid-template-columns:1fr auto;padding:0 13px}.dossier-version{display:none}.dossier-layout{display:block;overflow:auto}.dossier-left{padding:24px 18px}.dossier-left h2{font-size:52px}.dossier-stat{display:none}.dossier-contact{margin-top:15px}.dossier-stage{height:560px}.dossier-character-wrap{inset:45px 8px 70px}.hotspot::after{display:none}.hs-head{left:50%;top:12%}.hs-eye{left:38%;top:27%}.hs-mouth{left:54%;top:34%}.hs-hair{left:72%;top:20%}.hs-body{left:39%;top:58%}.hs-accessory{left:70%;top:54%}.stage-caption{left:10px;right:10px;bottom:10px;display:block}.stage-caption span{display:block;text-align:left;margin-top:6px}.dossier-right{display:block;max-height:none;padding:22px 18px}.work-list{display:block}.dossier-tabs{margin-top:12px}.dossier-footer strong{font-size:10px}.dossier-brand small{display:none}.dossier-close{padding:8px 9px}
}

/* ===== Service showcase modal v4 ===== */
.service-dossier{z-index:300}
.service-dossier .modal-backdrop{background:rgba(8,10,10,.78);backdrop-filter:blur(10px)}
.showcase-panel{
  position:absolute;inset:3vh 3vw;background:#1f1f1f;color:#f4f1e8;display:grid;grid-template-rows:64px 1fr 56px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 35px 90px rgba(0,0,0,.45)
}
.showcase-topbar,.showcase-footer{
  display:grid;align-items:center;background:#2a2a2a;border-color:#e1a932;color:#fff
}
.showcase-topbar{grid-template-columns:auto 1fr auto auto;padding:0 18px;border-bottom:3px solid #e1a932;gap:16px}
.showcase-brand{display:flex;align-items:center;gap:10px}.showcase-mark{font-size:24px;color:#a8d4ad}.showcase-brand strong{display:block;font-size:13px;letter-spacing:.08em}.showcase-brand small{display:block;font:8px DM Mono,monospace;letter-spacing:.16em;color:#b9b9b9}
.showcase-handle{justify-self:center;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font:10px DM Mono,monospace;letter-spacing:.1em;color:#f3e8c5}
.showcase-code{display:flex;align-items:baseline;gap:8px;font:10px DM Mono,monospace;letter-spacing:.15em}.showcase-code small{color:#c3c3c3}.showcase-code b{font-size:28px;color:#e1a932;line-height:1}
.showcase-close{border:0;background:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:0 2px}

.showcase-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;min-height:0}
.showcase-left,.showcase-right{padding:24px 18px;background:#252525}
.showcase-left{border-right:1px solid rgba(255,255,255,.1)}
.showcase-right{border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:14px}
.showcase-kicker{font:10px DM Mono,monospace;letter-spacing:.2em;color:#e1a932;text-transform:uppercase;margin-bottom:14px}
.showcase-left h2{font-size:clamp(44px,4.4vw,76px);line-height:.86;letter-spacing:-.06em;margin:0 0 14px;overflow-wrap:anywhere}
.showcase-desc{font-size:13px;line-height:1.65;color:#ded7c9;margin-bottom:22px}
.showcase-side-card,.showcase-right-box{border:1px solid rgba(255,255,255,.1);background:#1f1f1f;padding:14px}
.showcase-side-card span,.showcase-right-box span{display:block;font:9px DM Mono,monospace;letter-spacing:.18em;color:#e1a932;margin-bottom:8px}
.showcase-side-card strong,.showcase-right-box strong{display:block;font-size:16px;line-height:1.25}
.showcase-right-box ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.showcase-right-box li{position:relative;padding-left:14px;font-size:12px;line-height:1.55;color:#ece7dd}
.showcase-right-box li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;background:#a8d4ad}
.highlight-box{margin-top:auto;background:#34281a;border-color:#5a462b}.highlight-box p{font-size:11px;line-height:1.6;color:#f1e5d3;margin-top:6px}
.showcase-contact{width:100%;justify-content:center}

.showcase-stage{position:relative;overflow:hidden;background:linear-gradient(135deg,#2b2b2b 0%,#1a1a1a 100%)}
.showcase-stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;opacity:.5}
.showcase-stage::before{content:'';position:absolute;left:0;top:0;bottom:0;width:14px;background:#e1a932}
.showcase-stage-bg{position:absolute;right:28px;top:26px;max-width:42%;font:900 clamp(56px,8vw,122px)/.82 Inter,sans-serif;letter-spacing:-.06em;color:#e1a932;text-transform:uppercase;opacity:.95;text-align:right;z-index:1;word-break:break-word}
.showcase-badge{position:absolute;z-index:3;background:#101010;color:#f4f1e8;border:1px solid rgba(255,255,255,.12);padding:8px 12px;font:700 10px DM Mono,monospace;letter-spacing:.12em}
.badge-left{left:32px;top:28px}.badge-right{right:32px;top:190px;background:#8a2d2d}
.showcase-image-wrap{position:absolute;left:100px;right:115px;top:56px;bottom:104px;display:flex;align-items:flex-end;justify-content:center;z-index:2}
.showcase-image-wrap img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.38))}
.showcase-image-fallback{position:absolute;inset:14% 18%;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.18);font:800 20px/1.15 DM Mono,monospace;letter-spacing:.14em;color:#9e9e9e;text-align:center}
.showcase-chip-row{position:absolute;left:24px;right:24px;bottom:88px;display:flex;gap:10px;flex-wrap:wrap;z-index:3}.showcase-chip-row span{background:#fff0;border:1px solid rgba(255,255,255,.16);padding:8px 10px;font:700 10px DM Mono,monospace;letter-spacing:.1em;color:#f2ede4;background:rgba(0,0,0,.28)}
.showcase-nameplate{position:absolute;left:0;right:0;bottom:0;min-height:88px;padding:18px 24px 18px 42px;background:linear-gradient(90deg,#111 0 58%,#222 58%);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:end;z-index:3}
.showcase-nameplate small{display:block;font:9px DM Mono,monospace;letter-spacing:.18em;color:#e1a932}.showcase-nameplate strong{display:block;font-size:clamp(28px,4vw,56px);line-height:.88;letter-spacing:-.06em}.showcase-nameplate p{font-size:12px;line-height:1.6;color:#ddd4c6;max-width:320px;margin:0 0 6px auto}

.showcase-footer{grid-template-columns:1fr auto 1fr;padding:0 18px;border-top:3px solid #e1a932;font:10px DM Mono,monospace;letter-spacing:.12em}.showcase-footer strong{font:800 16px/1 Inter,sans-serif;letter-spacing:.03em;color:#fff}.showcase-footer span:last-child{text-align:right}

.service-dossier[data-plan="Rigging"] .showcase-stage::before,
.service-dossier[data-plan="Parting + Rigging"] .showcase-stage::before,
.service-dossier[data-plan="Complex Style"] .showcase-stage::before{background:#e1a932}

@media (max-width: 1100px){
  .showcase-panel{inset:1.5vh 1.5vw;grid-template-rows:60px 1fr 50px}
  .showcase-layout{grid-template-columns:200px minmax(0,1fr) 230px}
  .showcase-stage-bg{font-size:clamp(44px,7vw,92px);max-width:46%}
  .showcase-image-wrap{left:78px;right:78px}
  .showcase-nameplate{grid-template-columns:1fr;gap:8px}.showcase-nameplate p{max-width:none;margin:0}
}
@media (max-width: 860px){
  .showcase-topbar{grid-template-columns:auto 1fr auto;gap:10px}.showcase-handle{display:none}.showcase-layout{grid-template-columns:1fr;overflow:auto}.showcase-left,.showcase-right{border:0}.showcase-stage{min-height:640px}.showcase-left{padding-bottom:10px}.showcase-right{padding-top:10px}.showcase-stage-bg{right:16px;top:16px;max-width:50%}.badge-right{right:18px;top:136px}.showcase-image-wrap{left:36px;right:36px;top:84px;bottom:116px}.showcase-footer{grid-template-columns:1fr;justify-items:center;gap:2px;padding:8px 14px;height:auto}.showcase-footer span{text-align:center!important}
}
@media (max-width: 560px){
  .showcase-panel{inset:0;grid-template-rows:56px 1fr auto}.showcase-topbar{padding:0 12px}.showcase-brand small,.showcase-code small{display:none}.showcase-left h2{font-size:46px}.showcase-stage{min-height:540px}.showcase-stage-bg{font-size:42px;max-width:56%}.badge-left{left:16px;top:16px}.badge-right{right:16px;top:98px}.showcase-image-wrap{left:20px;right:20px;top:74px;bottom:126px}.showcase-chip-row{left:12px;right:12px;bottom:102px;gap:6px}.showcase-chip-row span{font-size:9px;padding:7px 8px}.showcase-nameplate{padding:14px 14px 14px 24px;min-height:100px}.showcase-nameplate strong{font-size:30px}.showcase-right-box li{font-size:11px}
}

/* ===== Learn More portrait poster v5 ===== */
.service-dossier.show{display:block}
.service-dossier .modal-backdrop{background:rgba(10,11,11,.78);backdrop-filter:blur(12px);opacity:0}
.service-dossier.show .modal-backdrop{animation:posterBackdropIn .34s ease forwards}
.service-dossier.closing .modal-backdrop{animation:posterBackdropOut .34s ease forwards}

.service-carousel-shell{
  position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;padding:28px 84px 42px;
}
.service-dossier .showcase-panel{
  position:relative;inset:auto;width:min(540px,calc(100vw - 168px));height:min(86vh,820px);max-height:820px;
  display:grid;grid-template-rows:minmax(0,1.58fr) minmax(280px,.88fr);overflow:hidden;
  background:#202322;color:#f6f3eb;border:1px solid rgba(255,255,255,.18);box-shadow:0 34px 100px rgba(0,0,0,.56);
  pointer-events:auto;transform-origin:50% 62%;opacity:0;border-radius:2px;
}
.service-dossier.show:not(.closing) .showcase-panel{animation:posterCardIn .52s cubic-bezier(.16,1,.3,1) forwards}
.service-dossier.closing .showcase-panel{animation:posterCardOut .34s cubic-bezier(.55,.06,.68,.19) forwards}

.poster-stage{position:relative;min-height:0;overflow:hidden;background:linear-gradient(160deg,#323737 0%,#1e2221 72%)}
.poster-stage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:#9fd3a5;z-index:8}
.poster-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:25px 25px;opacity:.6}
.poster-big-word{position:absolute;left:-8px;right:-8px;top:-16px;font:900 clamp(74px,8.3vw,132px)/.78 Inter,sans-serif;letter-spacing:-.085em;text-align:center;color:#a9d4ae;text-transform:uppercase;white-space:normal;word-break:break-word;opacity:.98;z-index:1}
.poster-script{position:absolute;top:80px;left:50%;transform:translateX(-50%) rotate(-3deg);z-index:5;font:600 clamp(31px,4vw,54px)/1 'Cormorant Garamond',serif;font-style:italic;white-space:nowrap;color:#f7f3e8;text-shadow:0 2px 16px rgba(0,0,0,.38)}
.poster-topline{position:absolute;left:16px;right:16px;top:14px;display:flex;justify-content:space-between;z-index:6;font:500 8px DM Mono,monospace;letter-spacing:.16em;color:#eef1ea}.poster-topline span:last-child{color:#d5ddd5}
.poster-meta{position:absolute;z-index:6;display:flex;flex-direction:column;gap:3px;max-width:126px}.poster-meta span{font:800 12px/1 Inter,sans-serif;letter-spacing:.06em}.poster-meta small{font:7px DM Mono,monospace;letter-spacing:.12em;color:#b6bcb7}.poster-meta-left{left:18px;top:42%}.poster-meta-right{right:18px;top:48%;text-align:right}
.poster-index{position:absolute;right:16px;bottom:52px;z-index:6;text-align:right}.poster-index small{display:block;font:8px DM Mono,monospace;letter-spacing:.16em;color:#aab0ac}.poster-index strong{font:900 clamp(62px,7.2vw,100px)/.75 Inter,sans-serif;letter-spacing:-.07em;color:#f6f1e6}
.poster-image-wrap{position:absolute;inset:54px 28px 0;z-index:4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.poster-image-wrap img{position:relative;display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 19px 25px rgba(0,0,0,.32));transform:translateY(2%)}
.showcase-image-fallback{position:absolute;left:18%;right:18%;top:23%;bottom:8%;display:grid;place-items:center;text-align:center;border:1px dashed rgba(255,255,255,.22);font:800 13px/1.3 DM Mono,monospace;letter-spacing:.14em;color:#7f8983;z-index:0}
.poster-tech-copy{position:absolute;left:16px;bottom:18px;z-index:6;display:flex;flex-direction:column;gap:3px;font:6.5px DM Mono,monospace;letter-spacing:.12em;color:#d7ddd8}

.poster-info{position:relative;z-index:9;display:flex;flex-direction:column;min-height:0;background:#f2f2ec;color:#171918;padding:18px 20px 0}
.poster-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-end}.poster-title-row small{display:block;font:8px DM Mono,monospace;letter-spacing:.15em;color:#718076;margin-bottom:3px}.poster-title-row h2{font-size:clamp(31px,3.8vw,52px);line-height:.9;letter-spacing:-.055em;margin:0;max-width:350px}.poster-pill{flex:0 0 auto;border:1px solid #9fa69f;border-radius:999px;padding:7px 9px;font:700 7px DM Mono,monospace;letter-spacing:.1em;color:#505753;white-space:nowrap}
.poster-desc{font-size:11px;line-height:1.45;color:#606762;margin:9px 0 10px;max-width:94%}
.poster-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.poster-chips span{background:#dbe9dc;border:1px solid #b8cdb9;padding:5px 7px;font:700 7px DM Mono,monospace;letter-spacing:.09em;color:#334338}
.poster-details{display:grid;grid-template-columns:1.28fr .72fr;gap:12px;min-height:0;margin-bottom:12px}.poster-includes,.poster-result{border-top:2px solid #202421;padding-top:8px}.poster-includes>span,.poster-result>span{display:block;font:800 7px DM Mono,monospace;letter-spacing:.15em;color:#6c756f;margin-bottom:7px}.poster-includes ul{display:grid;gap:4px;list-style:none;margin:0;padding:0}.poster-includes li{font-size:8.5px;line-height:1.3;color:#474d49;padding-left:11px;position:relative}.poster-includes li::before{content:'+';position:absolute;left:0;color:#6c9a72;font-weight:800}.poster-result{background:#202421;color:#fff;padding:9px 10px 8px;border-top-color:#9fd3a5}.poster-result>span{color:#9fd3a5}.poster-result strong{display:block;font-size:12px;line-height:1.08}.poster-result p{font-size:7.5px;line-height:1.35;color:#c9ceca;margin-top:4px}
.poster-bottom-bar{margin-top:auto;margin-left:-20px;margin-right:-20px;min-height:43px;padding:0 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#9fd3a5;color:#182019;border-top:1px solid #7bac81;font:700 7px DM Mono,monospace;letter-spacing:.1em}.poster-bottom-bar strong{font:900 10px Inter,sans-serif;letter-spacing:.04em}.poster-bottom-bar a{text-align:right;color:#182019;text-decoration:none;font-weight:800}

.showcase-close{position:absolute;right:10px;top:10px;z-index:30;width:31px;height:31px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;background:rgba(17,18,18,.5);color:#fff;font-size:23px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);transition:transform .2s ease,background .2s ease}.showcase-close:hover{transform:rotate(90deg);background:#111}
.service-nav{position:absolute;top:50%;z-index:20;pointer-events:auto;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#f4f4ef;cursor:pointer;font-family:DM Mono,monospace;letter-spacing:.15em;opacity:.86;transition:transform .2s ease,opacity .2s ease}.service-nav span{width:52px;height:52px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:22px;background:rgba(20,22,21,.56);backdrop-filter:blur(8px)}.service-nav small{font-size:8px}.service-nav:hover{opacity:1}.service-prev{left:max(18px,calc(50% - 375px));transform:translateY(-50%)}.service-next{right:max(18px,calc(50% - 375px));transform:translateY(-50%)}.service-prev:hover{transform:translate(-5px,-50%)}.service-next:hover{transform:translate(5px,-50%)}
.service-swipe-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font:7px DM Mono,monospace;letter-spacing:.18em;color:#c6cbc7;opacity:.72;pointer-events:none}

.service-dossier[data-plan="Rigging"] .poster-big-word{color:#b8d8bd}.service-dossier[data-plan="Parting + Rigging"] .poster-big-word{color:#d9ded7}.service-dossier[data-plan="Parting + Rigging"] .poster-stage::after{background:#d5ba78}.service-dossier[data-plan="Parting + Rigging"] .poster-bottom-bar{background:#d5ba78;border-color:#b29961}.service-dossier[data-plan="Complex Style"] .poster-big-word{color:#b8c7be}.service-dossier[data-plan="Complex Style"] .poster-stage::after{background:#9fbfa9}.service-dossier[data-plan="Complex Style"] .poster-bottom-bar{background:#9fbfa9}

@keyframes posterBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes posterBackdropOut{from{opacity:1}to{opacity:0}}
@keyframes posterCardIn{0%{opacity:0;transform:translateY(34px) scale(.94) rotateX(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}
@keyframes posterCardOut{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(24px) scale(.965)}}

@media (max-height:760px) and (min-width:700px){
  .service-dossier .showcase-panel{height:min(91vh,690px);grid-template-rows:minmax(0,1.45fr) minmax(255px,.9fr)}
  .poster-big-word{font-size:76px}.poster-script{top:67px;font-size:34px}.poster-image-wrap{inset:44px 34px 0}.poster-info{padding-top:13px}.poster-desc{margin:6px 0 7px}.poster-chips{margin-bottom:8px}.poster-details{margin-bottom:8px}
}

@media (max-width:700px){
  .service-carousel-shell{padding:18px 12px 48px}
  .service-dossier .showcase-panel{width:min(470px,calc(100vw - 28px));height:min(84vh,760px);grid-template-rows:minmax(0,1.48fr) minmax(292px,.92fr)}
  .service-nav{top:auto;bottom:8px}.service-prev{left:18px;transform:none}.service-next{right:18px;transform:none}.service-prev:hover,.service-next:hover{transform:none}.service-nav span{width:38px;height:38px;font-size:18px}.service-nav small{display:none}.service-swipe-hint{bottom:18px;font-size:6px}
  .poster-big-word{top:-7px;font-size:clamp(58px,18vw,92px)}.poster-script{top:66px;font-size:clamp(28px,9vw,44px)}.poster-meta-left{top:40%}.poster-meta-right{top:46%}.poster-image-wrap{inset:44px 12px 0}.poster-index strong{font-size:64px}
}

@media (max-width:480px){
  .service-dossier .showcase-panel{width:calc(100vw - 18px);height:min(87vh,735px);grid-template-rows:minmax(0,1.42fr) minmax(310px,.98fr)}
  .poster-stage::after{height:4px}.poster-topline{left:11px;right:11px;top:10px}.poster-topline span:last-child{display:none}.poster-big-word{font-size:clamp(52px,17.5vw,76px);top:2px}.poster-script{top:59px}.poster-meta{max-width:95px}.poster-meta span{font-size:9px}.poster-meta small{font-size:6px}.poster-meta-left{left:12px}.poster-meta-right{right:12px}.poster-index{right:12px;bottom:42px}.poster-index strong{font-size:55px}.poster-tech-copy{left:11px;bottom:12px;font-size:5.5px}.poster-image-wrap{inset:40px 5px 0}.poster-info{padding:14px 14px 0}.poster-title-row h2{font-size:31px}.poster-pill{font-size:6px;padding:6px}.poster-desc{font-size:9.5px;margin:7px 0}.poster-chips{margin-bottom:8px}.poster-details{grid-template-columns:1.15fr .85fr;gap:8px;margin-bottom:8px}.poster-includes li{font-size:7.5px}.poster-result{padding:7px}.poster-result strong{font-size:10px}.poster-result p{font-size:6.8px}.poster-bottom-bar{margin-left:-14px;margin-right:-14px;min-height:40px;padding:0 9px;font-size:5.8px}.poster-bottom-bar strong{font-size:8px}.showcase-close{width:28px;height:28px;font-size:20px}
}

@media (prefers-reduced-motion:reduce){
  .service-dossier.show:not(.closing) .showcase-panel,.service-dossier.closing .showcase-panel,.service-dossier.show .modal-backdrop,.service-dossier.closing .modal-backdrop{animation-duration:.01ms!important}
}

/* ===== Package tiers + simplified Learn More v6 ===== */
.plan-card{position:relative;overflow:hidden;border-top:4px solid var(--plan-color,#9fd3a5)}
.plan-card::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--plan-color,#9fd3a5);pointer-events:none}
.plan-card .card-title-row span{border-color:var(--plan-color,#9fd3a5);background:var(--plan-color,#9fd3a5);color:#171917;font-weight:700}
.plan-card .outline-btn{border-color:var(--plan-color,#9fd3a5)}
.plan-card .outline-btn:hover{background:var(--plan-color,#9fd3a5);color:#161816}
.plan-lite{--plan-color:#9fd3a5}
.plan-plus{--plan-color:#e6bd48}
.plan-complex{--plan-color:#df5c5c}
.plan-extra{--plan-color:#111312}
.plan-complex .card-title-row span{color:#fff}
.plan-extra .card-title-row span{background:#0d0f0e;border-color:#5a605c;color:#fff}
.plan-extra .outline-btn:hover{background:#f1f2ed;color:#111}
.plan-extra .stock-price em{color:#fff}
.plan-extra li::before{color:#fff}

/* The poster now relies on the boxed feature tags; duplicate include/result blocks are intentionally removed. */
.service-dossier .showcase-panel{
  width:min(520px,calc(100vw - 168px));
  height:min(82vh,760px);
  grid-template-rows:minmax(0,1.74fr) minmax(185px,.56fr);
}
.service-dossier.show:not(.closing) .showcase-panel{
  opacity:1;
  transform:none;
  animation:posterCardIn .52s cubic-bezier(.16,1,.3,1);
}
.poster-info{padding:17px 20px 0}
.poster-desc{font-size:11.5px;line-height:1.5;margin:10px 0 12px;max-width:100%}
.poster-chips{gap:7px;margin:0 0 14px}
.poster-chips span{padding:7px 9px;font-size:7.5px;background:var(--plan-chip-bg,#dbe9dc);border-color:var(--plan-chip-border,#b8cdb9);color:var(--plan-chip-text,#334338)}
.poster-bottom-bar{background:var(--plan-accent,#9fd3a5);border-color:var(--plan-border,#7bac81);color:var(--plan-bottom-text,#182019)}
.poster-bottom-bar a{color:var(--plan-bottom-text,#182019)}
.poster-big-word{color:var(--plan-accent,#9fd3a5)}
.poster-stage::after{background:var(--plan-accent,#9fd3a5)}
.poster-title-row small{color:var(--plan-muted,#718076)}
.poster-pill{border-color:var(--plan-accent,#9fd3a5);color:#3d443f}

.service-dossier[data-plan="Lite"]{
  --plan-accent:#9fd3a5;
  --plan-border:#75a97c;
  --plan-chip-bg:#dbe9dc;
  --plan-chip-border:#b8cdb9;
  --plan-chip-text:#334338;
  --plan-bottom-text:#182019;
}
.service-dossier[data-plan="Plus"]{
  --plan-accent:#e6bd48;
  --plan-border:#bc9634;
  --plan-chip-bg:#f4e8bd;
  --plan-chip-border:#ddc979;
  --plan-chip-text:#4d3d13;
  --plan-bottom-text:#211b0d;
}
.service-dossier[data-plan="Complex"]{
  --plan-accent:#df5c5c;
  --plan-border:#ad3f3f;
  --plan-chip-bg:#f0cccc;
  --plan-chip-border:#db9999;
  --plan-chip-text:#5a2020;
  --plan-bottom-text:#260d0d;
}
.service-dossier[data-plan="Extra"]{
  --plan-accent:#111312;
  --plan-border:#111312;
  --plan-chip-bg:#171918;
  --plan-chip-border:#3b403d;
  --plan-chip-text:#f3f3ee;
  --plan-bottom-text:#fff;
}
.service-dossier[data-plan="Extra"] .poster-stage{background:linear-gradient(160deg,#dedfd9 0%,#aeb2ad 72%)}
.service-dossier[data-plan="Extra"] .poster-grid{background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px)}
.service-dossier[data-plan="Extra"] .poster-script{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.service-dossier[data-plan="Extra"] .poster-topline,
.service-dossier[data-plan="Extra"] .poster-topline span:last-child,
.service-dossier[data-plan="Extra"] .poster-meta small,
.service-dossier[data-plan="Extra"] .poster-tech-copy,
.service-dossier[data-plan="Extra"] .poster-index small{color:#252826}
.service-dossier[data-plan="Extra"] .poster-index strong{color:#111312}
.service-dossier[data-plan="Extra"] .poster-meta span{color:#111312}

@media (max-height:760px) and (min-width:700px){
  .service-dossier .showcase-panel{height:min(88vh,660px);grid-template-rows:minmax(0,1.62fr) minmax(178px,.54fr)}
}
@media (max-width:700px){
  .service-dossier .showcase-panel{height:min(82vh,720px);grid-template-rows:minmax(0,1.58fr) minmax(205px,.62fr)}
  .poster-info{padding:14px 16px 0}
  .poster-bottom-bar{margin-left:-16px;margin-right:-16px}
}
@media (max-width:480px){
  .service-dossier .showcase-panel{height:min(84vh,700px);grid-template-rows:minmax(0,1.5fr) minmax(220px,.68fr)}
  .poster-chips span{font-size:6.8px;padding:6px 7px}
  .poster-desc{font-size:9.5px;margin:7px 0 10px}
}

/* ===== App Store + Star Shop v7 ===== */
@media (max-width:1280px) and (min-width:761px){
  .site-header{gap:18px;padding-left:2.5vw;padding-right:2.5vw}
  .brand{min-width:180px}
  .desktop-nav{gap:16px;font-size:9.5px}
  .header-actions{gap:10px}.contact-pill{padding:9px 14px}
}

/* Full-width sponsor-like digital access strip */
.app-store-band{position:relative;width:100%;overflow:hidden;background:#171a19;color:#f5f6f1;border-top:1px solid #343936;border-bottom:1px solid #343936;padding:34px 4vw;isolation:isolate}
.app-store-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 72% 25%,rgba(74,218,207,.13),transparent 24%),radial-gradient(circle at 86% 80%,rgba(159,121,255,.12),transparent 28%);pointer-events:none;z-index:-1}
.app-store-marquee{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);overflow:hidden;white-space:nowrap;pointer-events:none;opacity:.055;z-index:-1}
.app-store-marquee span{display:inline-block;font:900 clamp(74px,10vw,156px)/.8 Inter,sans-serif;letter-spacing:-.08em;animation:appStoreMarquee 24s linear infinite}
.app-store-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(470px,1.1fr);gap:36px;align-items:center}
.app-store-copy{display:flex;align-items:center;gap:22px;min-width:0}.app-store-logo{width:74px;height:74px;flex:0 0 74px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#58d8c8,#788dff 55%,#b477f2);font-size:36px;font-weight:900;box-shadow:0 12px 36px rgba(88,216,200,.14)}
.app-store-copy small{font:8px DM Mono,monospace;letter-spacing:.17em;color:#a7afaa}.app-store-copy h2{font-size:clamp(34px,4vw,62px);line-height:.9;letter-spacing:-.06em;margin:7px 0 8px}.app-store-copy p{font-size:11px;line-height:1.55;color:#bfc5c1;max-width:440px}
.app-store-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-plan{min-height:118px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid #3e4540;background:rgba(28,32,30,.82);backdrop-filter:blur(8px);transition:transform .25s ease,border-color .25s ease,background .25s ease}.app-plan:hover{transform:translateY(-4px);border-color:#67d3c7;background:#202624}.app-plan-owner:hover{border-color:#a77be9}.app-plan-tag{writing-mode:vertical-rl;transform:rotate(180deg);font:700 8px DM Mono,monospace;letter-spacing:.17em;color:#61d6c9}.app-plan-owner .app-plan-tag{color:#b98af0}.app-plan div small{display:block;font:8px DM Mono,monospace;letter-spacing:.13em;color:#8e9791}.app-plan div strong{display:block;font-size:25px;margin-top:7px;letter-spacing:-.04em}.app-plan a{align-self:stretch;display:grid;place-items:center;padding:0 12px;border-left:1px solid #3e4540;font:700 8px DM Mono,monospace;letter-spacing:.08em;color:#e9efeb;transition:.2s}.app-plan a:hover{color:#76ddd1}.app-plan-owner a:hover{color:#c79cf3}
@keyframes appStoreMarquee{from{transform:translateX(0)}to{transform:translateX(-35%)}}

/* Homepage Star Shop strip */
.star-shop{min-height:340px;background:radial-gradient(circle at 70% 28%,rgba(226,190,93,.15),transparent 28%),radial-gradient(circle at 20% 90%,rgba(159,111,226,.12),transparent 30%),linear-gradient(115deg,#0c0d10,#17171b 62%,#101112);border-top:1px solid #352d20;border-bottom:1px solid #352d20}
.star-shop-feature{display:block;background:linear-gradient(155deg,#0f1013,#242028 48%,#151719);overflow:hidden}
.star-shop-feature::before{content:'';position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(239,199,95,.14),transparent 24%,rgba(169,118,236,.12),transparent 48%);animation:starOrbitSpin 16s linear infinite}
.star-orbit{position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%);border:1px solid rgba(239,199,95,.45);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 24px rgba(239,199,95,.025),0 0 0 52px rgba(169,118,236,.025)}
.star-orbit::before,.star-orbit::after{content:'';position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;inset:23px}.star-orbit::after{inset:58px;border-color:rgba(239,199,95,.28)}.star-orbit span{font-size:72px;color:#efc75f;text-shadow:0 0 30px rgba(239,199,95,.25)}
.star-feature-copy{position:absolute;left:26px;bottom:24px;display:flex;flex-direction:column;z-index:2}.star-feature-copy small,.star-feature-copy span{font:8px DM Mono,monospace;letter-spacing:.16em;color:#c4b796}.star-feature-copy strong{font:900 54px/.9 Inter,sans-serif;letter-spacing:-.06em;color:#f4d77f;margin:6px 0}
.star-kicker{font:8px DM Mono,monospace;letter-spacing:.18em;color:#d1b866}.star-shop-copy h2{font-size:34px;letter-spacing:-.045em;color:#fff}.star-shop-copy p{color:#bcb8ae}.star-shop-btn{background:linear-gradient(90deg,#e8c65d,#b98be0);color:#171218;font-weight:800}
.star-preview-grid{position:relative}.star-preview-card{height:175px;overflow:hidden;border:1px solid rgba(238,202,103,.35);background-color:#17171b;background-size:contain;background-repeat:no-repeat;background-position:center bottom;isolation:isolate;filter:none!important}.star-preview-card:nth-child(1){background-image:linear-gradient(180deg,transparent 40%,rgba(6,7,8,.88)),url('assets/star-01.png')}.star-preview-card:nth-child(2){background-image:linear-gradient(180deg,transparent 40%,rgba(6,7,8,.88)),url('assets/star-02.png')}.star-preview-card:nth-child(3){background-image:linear-gradient(180deg,transparent 40%,rgba(6,7,8,.88)),url('assets/star-03.png')}.star-preview-card::before{content:'';position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 42%,rgba(255,255,255,.12) 48%,transparent 54%);transform:translateX(-120%);transition:transform .65s ease;z-index:1}.star-preview-card:hover::before{transform:translateX(120%)}.star-preview-card:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 18px 40px rgba(0,0,0,.35)}.star-preview-card .star-rarity{position:absolute;left:8px;top:8px;bottom:auto;background:linear-gradient(90deg,#e6c15a,#c98ee5);color:#171218;font:900 9px Inter,sans-serif;padding:5px 7px;z-index:2}.star-preview-card b{position:absolute;left:9px;bottom:25px;z-index:2;color:#fff;font-size:15px}.star-preview-card small{position:absolute;left:9px;bottom:9px;z-index:2;font:7px DM Mono,monospace;letter-spacing:.12em;color:#d8cba9}
@keyframes starOrbitSpin{to{transform:rotate(360deg)}}

/* Star Shop collection overlay */
.star-shop-modal{z-index:360}.star-shop-modal .modal-backdrop{background:rgba(5,6,8,.83);backdrop-filter:blur(12px);opacity:0}.star-shop-modal.show .modal-backdrop{animation:starFadeIn .28s ease forwards}.star-shop-modal.closing .modal-backdrop{animation:starFadeOut .28s ease forwards}
.star-shop-panel{position:absolute;inset:4vh 4vw;background:radial-gradient(circle at 85% 0%,rgba(197,143,235,.13),transparent 27%),radial-gradient(circle at 8% 100%,rgba(236,198,90,.12),transparent 30%),#111216;color:#f7f5ef;padding:30px 30px 22px;overflow:auto;border:1px solid rgba(234,198,99,.24);box-shadow:0 30px 110px rgba(0,0,0,.58);opacity:0;transform:translateY(24px) scale(.985)}
.star-shop-modal.show:not(.closing) .star-shop-panel{animation:starPanelIn .38s cubic-bezier(.16,1,.3,1) forwards}.star-shop-modal.closing .star-shop-panel{animation:starPanelOut .26s ease forwards}
.star-shop-close{color:#fff;z-index:5}.star-shop-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:6px 44px 22px 2px;border-bottom:1px solid rgba(255,255,255,.12)}.star-shop-head small{font:8px DM Mono,monospace;letter-spacing:.18em;color:#b1a994}.star-shop-head h2{font-size:clamp(44px,7vw,94px);line-height:.78;letter-spacing:-.075em;margin-top:13px;background:linear-gradient(90deg,#f3d26f,#e7e1cd 46%,#be86df);-webkit-background-clip:text;background-clip:text;color:transparent}.star-shop-head-meta{text-align:right;display:flex;flex-direction:column;gap:5px}.star-shop-head-meta span{font:8px DM Mono,monospace;letter-spacing:.18em;color:#8e8d89}.star-shop-head-meta strong{font-size:20px;color:#e8ca68}.star-shop-head-meta small{color:#ae8ec0}
.star-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px 0}.star-select-card{border:1px solid rgba(255,255,255,.12);background:#17191d;color:#fff;text-align:left;cursor:pointer;padding:0;overflow:hidden;transition:transform .3s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .3s}.star-select-card:hover{transform:translateY(-7px);border-color:#e7c75f;box-shadow:0 22px 46px rgba(0,0,0,.38)}.star-thumb{position:relative;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(227,199,112,.16),transparent 26%),linear-gradient(150deg,#25242a,#111317)}.star-thumb::before{content:'★';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:72px;color:rgba(237,202,103,.11)}.star-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(7,8,10,.86))}.star-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:1;filter:drop-shadow(0 20px 22px rgba(0,0,0,.35))}.star-thumb>span{position:absolute;left:10px;top:10px;z-index:3;padding:6px 8px;background:linear-gradient(90deg,#e9c75d,#b985de);color:#171219;font:900 10px Inter,sans-serif;letter-spacing:.05em}.star-card-meta{display:flex;justify-content:space-between;align-items:center;padding:13px}.star-card-meta b{font-size:15px}.star-card-meta small{font:7px DM Mono,monospace;letter-spacing:.12em;color:#b7aa87}.star-shop-foot{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding-top:15px;border-top:1px solid rgba(255,255,255,.1);font:8px DM Mono,monospace;letter-spacing:.14em;color:#8f918f}.star-shop-foot strong{font:900 12px Inter,sans-serif;letter-spacing:.03em;color:#eee4c8}.star-shop-foot span:last-child{text-align:right}

/* Premium ready-to-use character detail */
.star-detail-modal{position:fixed;inset:0;z-index:420;display:none}.star-detail-modal.show{display:block}.star-detail-backdrop{position:absolute;inset:0;background:rgba(5,6,8,.84);backdrop-filter:blur(14px);opacity:0}.star-detail-modal.show .star-detail-backdrop{animation:starFadeIn .28s ease forwards}.star-detail-modal.closing .star-detail-backdrop{animation:starFadeOut .28s ease forwards}
.star-detail-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%) scale(.94);width:min(470px,calc(100vw - 30px));height:min(84vh,760px);display:grid;grid-template-rows:minmax(0,1.55fr) minmax(245px,.72fr);background:#111216;color:#fff;border:1px solid rgba(238,202,101,.4);box-shadow:0 36px 120px rgba(0,0,0,.7),0 0 80px rgba(198,143,235,.08);overflow:hidden;opacity:0}.star-detail-modal.show:not(.closing) .star-detail-card{animation:starDetailIn .46s cubic-bezier(.16,1,.3,1) forwards}.star-detail-modal.closing .star-detail-card{animation:starDetailOut .28s ease forwards}
.star-detail-close{position:absolute;right:12px;top:12px;z-index:20;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(7,8,10,.52);color:#fff;font-size:22px;cursor:pointer;transition:.2s}.star-detail-close:hover{transform:rotate(90deg);background:#17191d}
.star-detail-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(240,205,104,.17),transparent 30%),radial-gradient(circle at 72% 20%,rgba(193,132,226,.14),transparent 28%),linear-gradient(160deg,#222129,#0c0e11 74%)}.star-detail-visual::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px}.star-shine{position:absolute;width:170%;height:38px;left:-35%;top:42%;transform:rotate(-18deg) translateX(-70%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.21),transparent);filter:blur(5px);animation:starSweep 3.7s ease-in-out infinite;z-index:6;pointer-events:none}.star-detail-rank{position:absolute;left:16px;top:15px;z-index:8}.star-detail-rank span{display:block;font:900 42px/.8 Inter,sans-serif;letter-spacing:-.06em;background:linear-gradient(90deg,#f2d16b,#bc89e1);-webkit-background-clip:text;background-clip:text;color:transparent}.star-detail-rank small{font:8px DM Mono,monospace;letter-spacing:.16em;color:#f0d06c}.star-detail-big{position:absolute;left:-5px;right:-5px;top:72px;text-align:center;font:900 clamp(64px,11vw,115px)/.75 Inter,sans-serif;letter-spacing:-.085em;color:rgba(239,202,102,.12);z-index:1}.star-detail-image-wrap{position:absolute;inset:62px 18px 0;display:flex;align-items:flex-end;justify-content:center;z-index:4}.star-detail-image-wrap img{max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 28px rgba(0,0,0,.42))}.star-detail-fallback{position:absolute;inset:18% 18% 7%;display:grid;place-items:center;text-align:center;border:1px dashed rgba(238,202,102,.22);color:#6f6960;font:800 12px/1.4 DM Mono,monospace;letter-spacing:.13em}.star-detail-number{position:absolute;right:12px;bottom:5px;z-index:7;font:900 82px/.8 Inter,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.16)}.star-detail-limit{position:absolute;left:14px;bottom:14px;z-index:8;padding:7px 9px;border:1px solid rgba(239,202,102,.42);background:rgba(8,9,11,.55);font:8px DM Mono,monospace;letter-spacing:.13em;color:#c8c0ad}.star-detail-limit b{color:#f0d16a}
.star-detail-info{position:relative;padding:18px 18px 0;background:linear-gradient(180deg,#f6f3e9,#ece8dc);color:#151515;display:flex;flex-direction:column}.star-detail-info::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#e7c45a,#b783df)}.star-detail-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.star-detail-title-row small{display:block;font:8px DM Mono,monospace;letter-spacing:.14em;color:#8a7c58;margin-bottom:3px}.star-detail-title-row h2{font-size:36px;line-height:.88;letter-spacing:-.055em}.star-detail-title-row>span{border:1px solid #cbb87d;padding:6px 8px;border-radius:999px;font:700 7px DM Mono,monospace;letter-spacing:.1em;color:#65552c}.star-detail-info>p{font-size:10.5px;line-height:1.55;color:#625f58;margin:10px 0}.star-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.star-detail-tags span{padding:6px 7px;background:#16181a;color:#f3e8c7;font:700 7px DM Mono,monospace;letter-spacing:.09em}.star-detail-action{margin-top:auto;margin-left:-18px;margin-right:-18px;min-height:60px;display:grid;grid-template-columns:1fr auto;align-items:center;padding-left:18px;background:#16181a;color:#fff}.star-detail-action small{display:block;font:7px DM Mono,monospace;letter-spacing:.15em;color:#8f928f}.star-detail-action strong{display:block;font-size:12px;margin-top:4px;color:#eacb68}.star-buy-btn{height:100%;min-width:150px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 17px;background:linear-gradient(90deg,#e8c65c,#bb87df);color:#151217;font:900 9px DM Mono,monospace;letter-spacing:.08em;transition:filter .2s,transform .2s}.star-buy-btn:hover{filter:brightness(1.08)}

@keyframes starFadeIn{from{opacity:0}to{opacity:1}}@keyframes starFadeOut{from{opacity:1}to{opacity:0}}
@keyframes starPanelIn{to{opacity:1;transform:none}}@keyframes starPanelOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(16px) scale(.99)}}
@keyframes starDetailIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes starDetailOut{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-47%) scale(.96)}}
@keyframes starSweep{0%,52%{transform:rotate(-18deg) translateX(-78%);opacity:0}60%{opacity:1}82%{transform:rotate(-18deg) translateX(76%);opacity:.9}100%{transform:rotate(-18deg) translateX(76%);opacity:0}}

@media (max-width:900px){
  .app-store-inner{grid-template-columns:1fr}.app-store-plans{grid-template-columns:1fr 1fr}.app-store-band{padding:30px 22px}.star-shop-grid{grid-template-columns:repeat(2,1fr)}.star-shop-panel{inset:2vh 3vw;padding:24px 20px 18px}.star-shop-head h2{font-size:58px}
}
@media (max-width:760px){
  .app-store-band{padding:28px 18px}.app-store-copy{align-items:flex-start}.app-store-logo{width:58px;height:58px;flex-basis:58px;border-radius:14px;font-size:28px}.app-store-copy h2{font-size:38px}.app-store-plans{grid-template-columns:1fr}.app-plan{min-height:98px}.star-shop{display:block}.star-shop-feature{display:block!important;min-height:260px}.star-shop-copy{padding:28px 20px}.star-preview-grid{grid-template-columns:1fr 1fr!important;padding:0 20px 28px}.star-preview-card{height:180px}.star-preview-card:last-child{display:block!important}.star-shop-head{display:block;padding-right:40px}.star-shop-head-meta{text-align:left;margin-top:16px}.star-shop-grid{grid-template-columns:1fr 1fr;gap:9px}.star-shop-panel{inset:1vh 2vw;padding:20px 12px 16px}.star-card-meta{display:block}.star-card-meta small{display:block;margin-top:4px}.star-shop-foot{grid-template-columns:1fr;text-align:center}.star-shop-foot span:last-child{text-align:center}.star-shop-foot span{display:none}
}
@media (max-width:520px){
  .app-store-copy p{font-size:10px}.app-plan{grid-template-columns:auto 1fr auto;padding:14px 12px}.app-plan div strong{font-size:21px}.app-plan a{padding:0 8px}.star-shop-grid{grid-template-columns:1fr 1fr}.star-shop-head h2{font-size:46px}.star-shop-head-meta strong{font-size:16px}.star-detail-card{height:min(86vh,700px);grid-template-rows:minmax(0,1.42fr) minmax(250px,.78fr)}.star-detail-rank span{font-size:34px}.star-detail-big{top:66px;font-size:64px}.star-detail-title-row h2{font-size:30px}.star-detail-title-row>span{font-size:6px}.star-detail-action{min-height:56px}.star-buy-btn{min-width:128px;padding:0 12px}
}
@media (prefers-reduced-motion:reduce){
  .app-store-marquee span,.star-shop-feature::before,.star-shine{animation:none!important}
  .star-shop-modal.show:not(.closing) .star-shop-panel,.star-shop-modal.closing .star-shop-panel,.star-detail-modal.show:not(.closing) .star-detail-card,.star-detail-modal.closing .star-detail-card{animation-duration:.01ms!important}
}

/* ===== Vall Store v8 — premium polish ===== */
:root{
  --cream:#fbfbf7;
  --ink-soft:#353a37;
  --gold:#e6bd48;
  --red:#df5c5c;
}
body{
  background:
    radial-gradient(circle at 14% 8%,rgba(159,211,165,.13),transparent 22%),
    radial-gradient(circle at 88% 33%,rgba(230,189,72,.08),transparent 19%),
    linear-gradient(180deg,#f4f5f1 0%,#eef0eb 48%,#f6f7f3 100%);
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,rgba(255,255,255,.58),transparent 28%,transparent 72%,rgba(255,255,255,.32));
}
::selection{background:#1d211f;color:#d9f0dc}

.site-header{
  box-shadow:0 10px 35px rgba(25,30,27,.035);
  border-bottom-color:rgba(40,48,43,.1);
}
.brand-mark{filter:drop-shadow(0 5px 10px rgba(83,125,90,.15))}
.desktop-nav a{transition:color .25s ease,transform .25s ease}.desktop-nav a:hover{transform:translateY(-1px)}
.contact-pill{
  background:rgba(255,255,255,.56);cursor:pointer;display:inline-flex;align-items:center;gap:12px;
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;
}
.contact-pill:hover{background:#171b19;color:#fff;border-color:#171b19;transform:translateY(-2px);box-shadow:0 10px 25px rgba(13,17,15,.12)}
.contact-pill span{transition:transform .3s ease}.contact-pill:hover span{transform:translate(2px,-2px)}
.mobile-contact-trigger{border:0;background:#171b19;color:#fff;padding:15px;text-align:left;font:700 12px DM Mono,monospace;letter-spacing:.05em;cursor:pointer;margin-top:8px}

.hero{box-shadow:0 24px 70px rgba(37,48,41,.04);background-size:80px 80px,80px 80px,auto}
.hero::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:4%;top:7%;background:radial-gradient(circle,rgba(159,211,165,.16),rgba(159,211,165,0) 68%);filter:blur(10px);pointer-events:none}
.hero h1{text-wrap:balance;text-shadow:0 8px 38px rgba(29,38,32,.04)}
.character-img{animation:heroFloat 7s ease-in-out infinite;transform-origin:center bottom}
@keyframes heroFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
.hero-mini-stack{position:absolute;right:26px;top:68px;z-index:9;width:118px;height:250px;pointer-events:none}
.hero-mini-card{position:absolute;width:94px;padding:5px 5px 7px;background:rgba(249,250,247,.84);border:1px solid rgba(29,34,31,.25);box-shadow:0 14px 32px rgba(19,26,21,.09);backdrop-filter:blur(9px);transform-origin:center;animation:miniFloat 6s ease-in-out infinite}
.hero-mini-card .face-preview{height:62px}.hero-mini-card>span{position:absolute;left:8px;bottom:6px;font:800 8px DM Mono,monospace;background:#171b19;color:#fff;padding:3px 5px}.hero-mini-card>small{position:absolute;right:6px;bottom:8px;font:700 7px DM Mono,monospace;letter-spacing:.11em;color:#616963}
.hero-mini-card.mini-a{right:2px;top:0;transform:rotate(2.5deg);z-index:3}.hero-mini-card.mini-b{right:18px;top:78px;transform:rotate(-2deg);z-index:2;animation-delay:-2s}.hero-mini-card.mini-c{right:0;top:158px;transform:rotate(1deg);z-index:1;animation-delay:-4s}
@keyframes miniFloat{0%,100%{margin-top:0}50%{margin-top:-5px}}
.hero-side-copy{right:24px;bottom:112px}

/* Premium service pricing */
.packages{background:linear-gradient(180deg,rgba(252,252,248,.88),rgba(246,247,242,.84))}
.package-grid{gap:12px;perspective:1200px}
.plan-card{
  --card-rx:0deg;--card-ry:0deg;--shine-x:50%;--shine-y:50%;
  min-height:445px;border-radius:10px;padding:12px;
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(246,247,242,.92));
  box-shadow:0 12px 32px rgba(28,36,31,.045),inset 0 1px rgba(255,255,255,.85);
  transform:perspective(1000px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(0);
  transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,border-color .3s ease;
  isolation:isolate;
}
.plan-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:9px;background:radial-gradient(circle at var(--shine-x) var(--shine-y),color-mix(in srgb,var(--plan-color) 15%,transparent),transparent 38%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.plan-card:hover{transform:perspective(1000px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(-9px);box-shadow:0 25px 55px rgba(26,34,29,.11)}
.plan-card:hover::before{opacity:1}
.plan-card .card-art,.plan-card .stock-art{border-radius:7px;transition:transform .45s cubic-bezier(.16,1,.3,1),filter .45s ease}.plan-card:hover .card-art,.plan-card:hover .stock-art{transform:scale(1.018);filter:saturate(1.08)}
.plan-card .card-title-row{margin-top:15px}.plan-card .card-title-row h3{font-size:21px}
.service-price{
  margin:12px 0 15px;min-height:70px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:8px;
  border:1px solid color-mix(in srgb,var(--plan-color) 66%,#bec5bf);border-radius:7px;
  background:linear-gradient(110deg,color-mix(in srgb,var(--plan-color) 15%,#fff),rgba(255,255,255,.74));position:relative;overflow:hidden;
}
.service-price::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--plan-color)}
.service-price small{align-self:start;font:700 7px DM Mono,monospace;letter-spacing:.16em;color:#79817c}.service-price strong{font:900 34px/.9 Inter,sans-serif;letter-spacing:-.055em;color:#151817}.service-price span{font:700 7px DM Mono,monospace;letter-spacing:.13em;color:#777e79;padding-bottom:2px}
.plan-plus .service-price strong{color:#5a4510}.plan-complex .service-price strong{color:#742727}
.plan-extra{background:linear-gradient(155deg,#242725,#171a18);box-shadow:0 20px 48px rgba(18,22,20,.13)}
.plan-extra .service-price{border-color:#4b504c;background:linear-gradient(110deg,#111312,#252927)}.plan-extra .service-price small,.plan-extra .service-price span{color:#aeb5b0}.plan-extra .service-price strong{color:#fff}.plan-extra .service-price::after{background:#e9ece8}
.plan-card ul{line-height:1.45}.plan-card .outline-btn{border-radius:6px;transition:background .28s ease,color .28s ease,transform .28s ease}.plan-card .outline-btn:hover{transform:translateY(-2px)}

/* Learn-more price / contact button */
.poster-title-meta{display:flex;align-items:flex-end;gap:7px;flex-direction:column}.poster-price{font:900 14px/1 Inter,sans-serif;letter-spacing:-.025em;padding:7px 9px;background:var(--plan-accent,#9fd3a5);color:var(--plan-bottom-text,#182019);border-radius:3px;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.poster-contact-link{border:0;background:transparent;font:inherit;color:var(--plan-bottom-text,#182019);cursor:pointer;font-weight:800}

/* Fresh section surfaces */
.section-shell{background:linear-gradient(180deg,rgba(251,252,248,.78),rgba(246,247,242,.68));backdrop-filter:blur(8px)}
.feature-item{border-radius:8px;box-shadow:inset 0 1px rgba(255,255,255,.85)}
.feature-item:hover{box-shadow:0 16px 30px rgba(27,35,30,.06)}
.faq-item{border-radius:8px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.faq-item:hover{border-color:#b2bbb3;box-shadow:0 12px 28px rgba(31,41,34,.045);transform:translateY(-2px)}

/* App cards depth polish */
.app-plan,.star-preview-card,.star-select-card{--card-rx:0deg;--card-ry:0deg;transform:perspective(900px) rotateX(var(--card-rx)) rotateY(var(--card-ry));transition:transform .36s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease}
.app-plan:hover,.star-preview-card:hover,.star-select-card:hover{transform:perspective(900px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(-6px)}

/* Footer — more editorial, less utility */
.premium-footer{min-height:225px;grid-template-columns:1.05fr .9fr .9fr auto;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 0%,rgba(159,211,165,.09),transparent 24%),linear-gradient(115deg,#141716,#1e2220);border-top:1px solid #313734}
.premium-footer::before{content:"VALL";position:absolute;right:-28px;bottom:-48px;font:900 170px/.8 Inter,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none}
.premium-footer .footer-logo{border-radius:8px;background:linear-gradient(145deg,#242a26,#131614);color:#a8d5ae;border-color:#485149;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.footer-center small,.footer-contact-copy small{display:block;font:8px DM Mono,monospace;letter-spacing:.18em;color:#777f79;margin-bottom:8px}.premium-footer .footer-quote{text-align:left;font:700 24px/1.05 Inter,sans-serif;letter-spacing:-.045em}.premium-footer .footer-quote em{font-family:"Cormorant Garamond",Georgia,serif;font-size:31px;font-weight:600;color:#9fd3a5}.footer-contact-copy div{display:flex;flex-wrap:wrap;gap:7px;font:8px DM Mono,monospace;letter-spacing:.1em;color:#c9cfcb}.footer-contact-copy i{font-style:normal;color:#5e6661}.footer-contact-btn{background:#a7d7ad;color:#132016;border-radius:4px;white-space:nowrap}.footer-contact-btn:hover{background:#c0e4c5}

/* Contact channel chooser */
.contact-menu-modal{position:fixed;inset:0;z-index:520;display:none}.contact-menu-modal.show{display:block}.contact-menu-backdrop{position:absolute;inset:0;background:rgba(10,13,11,.58);backdrop-filter:blur(13px);opacity:0}.contact-menu-modal.show:not(.closing) .contact-menu-backdrop{animation:contactFadeIn .3s ease forwards}.contact-menu-modal.closing .contact-menu-backdrop{animation:contactFadeOut .28s ease forwards}
.contact-menu-card{position:absolute;right:max(24px,4vw);top:96px;width:min(420px,calc(100vw - 32px));background:linear-gradient(155deg,#fbfcf8,#eef1eb);border:1px solid rgba(36,44,39,.2);box-shadow:0 34px 100px rgba(15,21,17,.28);padding:26px;opacity:0;transform:translateY(-18px) scale(.97);transform-origin:90% 0;overflow:hidden}
.contact-menu-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#9fd3a5,#e6bd48,#df5c5c,#161917)}
.contact-menu-card::after{content:"CONTACT";position:absolute;right:-8px;top:56px;font:900 68px/.8 Inter,sans-serif;letter-spacing:-.07em;color:rgba(20,25,22,.035);pointer-events:none}
.contact-menu-modal.show:not(.closing) .contact-menu-card{animation:contactCardIn .42s cubic-bezier(.16,1,.3,1) forwards}.contact-menu-modal.closing .contact-menu-card{animation:contactCardOut .26s ease forwards}
.contact-menu-close{position:absolute;right:15px;top:14px;width:34px;height:34px;border:1px solid #c8cdc8;border-radius:50%;background:rgba(255,255,255,.65);font-size:22px;cursor:pointer;z-index:3;transition:transform .25s ease,background .25s ease}.contact-menu-close:hover{transform:rotate(90deg);background:#fff}
.contact-menu-head{position:relative;z-index:1;padding-right:40px;margin-bottom:20px}.contact-menu-head small{font:8px DM Mono,monospace;letter-spacing:.18em;color:#7e877f}.contact-menu-head h2{font-size:44px;line-height:.9;letter-spacing:-.06em;margin:8px 0 9px}.contact-menu-head p{font-size:11px;line-height:1.55;color:#69716c}
.contact-channel-list{display:grid;gap:8px;position:relative;z-index:1}.contact-channel{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #d0d5cf;background:rgba(255,255,255,.72);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease,background .3s ease}.contact-channel:hover{transform:translateX(5px);border-color:#9da79f;box-shadow:0 12px 26px rgba(27,36,30,.07);background:#fff}.contact-channel-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#171b19;color:#fff;font:900 11px DM Mono,monospace}.contact-channel.tiktok .contact-channel-icon{background:linear-gradient(145deg,#111,#29312d)}.contact-channel.whatsapp .contact-channel-icon{background:#608d68}.contact-channel.discord .contact-channel-icon{background:#61689b}.contact-channel small{display:block;font:7px DM Mono,monospace;letter-spacing:.13em;color:#8b928d;margin-bottom:3px}.contact-channel strong{font-size:15px}.contact-channel b{font-size:19px;font-weight:400;transition:transform .25s ease}.contact-channel:hover b{transform:translate(2px,-2px)}
.contact-menu-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d3d7d2;margin-top:18px;padding-top:13px;font:7px DM Mono,monospace;letter-spacing:.11em;color:#848b86}.contact-menu-foot strong{color:#252a27}
@keyframes contactFadeIn{to{opacity:1}}@keyframes contactFadeOut{from{opacity:1}to{opacity:0}}@keyframes contactCardIn{to{opacity:1;transform:none}}@keyframes contactCardOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px) scale(.98)}}

/* Micro-interactions */
.btn,.outline-btn,.app-plan a,.star-buy-btn{position:relative;overflow:hidden}.btn::after,.outline-btn::after,.app-plan a::after,.star-buy-btn::after{content:"";position:absolute;top:-100%;bottom:-100%;width:28px;left:-45px;transform:rotate(18deg);background:rgba(255,255,255,.24);transition:left .5s cubic-bezier(.16,1,.3,1);pointer-events:none}.btn:hover::after,.outline-btn:hover::after,.app-plan a:hover::after,.star-buy-btn:hover::after{left:calc(100% + 25px)}

@media (max-width:1100px){
  .premium-footer{grid-template-columns:1fr 1fr}.footer-contact-copy{align-self:start}.footer-contact-btn{justify-self:start}
}
@media (max-width:760px){
  .hero-mini-stack{right:12px;top:36px;transform:scale(.84);transform-origin:top right}.hero-side-copy{display:none}.character-img{animation-duration:8s}
  .plan-card{min-height:405px}.service-price{min-height:62px}.service-price strong{font-size:31px}
  .premium-footer{grid-template-columns:1fr;padding:36px 20px;gap:24px}.footer-center,.footer-contact-copy{display:block}.premium-footer .footer-quote{text-align:left}.footer-contact-btn{width:100%}
  .contact-menu-card{right:16px;left:16px;top:84px;width:auto;padding:22px}.contact-menu-head h2{font-size:38px}
  .poster-title-meta{gap:5px}.poster-price{font-size:12px;padding:6px 8px}
}
@media (max-width:520px){
  .hero-mini-stack{transform:scale(.72);right:4px;top:24px}.hero h1{max-width:88%}
  .service-price{grid-template-columns:auto 1fr auto}.service-price strong{font-size:29px}
  .contact-menu-card{top:76px}.contact-channel{grid-template-columns:42px 1fr auto;padding:10px}.contact-channel-icon{width:38px;height:38px}.contact-menu-foot span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .character-img,.hero-mini-card{animation:none!important}.contact-menu-modal.show:not(.closing) .contact-menu-card,.contact-menu-modal.closing .contact-menu-card,.contact-menu-modal.show:not(.closing) .contact-menu-backdrop,.contact-menu-modal.closing .contact-menu-backdrop{animation-duration:.01ms!important}
}

/* Tier identity — visible even before hover */
.plan-lite{background:linear-gradient(155deg,#fbfdfa 0%,#eef7ef 100%)}
.plan-plus{background:linear-gradient(155deg,#fffdf7 0%,#f7efd1 100%)}
.plan-complex{background:linear-gradient(155deg,#fffafa 0%,#f7e2e2 100%)}
.plan-lite .card-art{box-shadow:inset 0 -20px 40px rgba(159,211,165,.10)}
.plan-plus .card-art{box-shadow:inset 0 -20px 40px rgba(230,189,72,.12)}
.plan-complex .card-art{box-shadow:inset 0 -20px 40px rgba(223,92,92,.10)}
.plan-lite .card-title-row h3{color:#315d38}.plan-plus .card-title-row h3{color:#6f5513}.plan-complex .card-title-row h3{color:#7d2b2b}

/* keep the static hero frames elegant on narrow layouts */
@media (max-width:760px){
  .hero-mini-card{width:88px}.hero-mini-card .face-preview{height:56px}
  .mobile-nav .mobile-contact-trigger{display:block;width:100%;margin-top:10px}
}

/* ===== V9 editable branding + precise anchor polish ===== */
:root{--anchor-offset:104px}
#home,#about,#products,#app-store,#star-shop,#faq,#contact{scroll-margin-top:var(--anchor-offset)}

/* Replaceable header logo. Keep the original symbol as a fallback. */
.brand-logo-wrap{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:8px}
.brand-logo-wrap .brand-logo-fallback{grid-area:1/1;z-index:0}
.brand-logo-img{grid-area:1/1;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 5px 10px rgba(83,125,90,.14))}

/* Service card thumbnails are separate assets from Learn More poster artwork. */
.plan-card .card-art,.plan-card .stock-art{isolation:isolate}
.plan-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:3;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease}
.plan-card:hover .plan-thumb-img{transform:scale(1.045);filter:saturate(1.06) contrast(1.02)}
.plan-card .card-art::after,.plan-card .stock-art::after{z-index:4;pointer-events:none}
.plan-card .stock-art>span,.plan-card .stock-art>i{z-index:1}

/* Replaceable Canva logo. The gradient C stays underneath if the file is missing. */
.app-store-logo{position:relative;overflow:hidden}
.canva-logo-fallback{grid-area:1/1;z-index:0}
.canva-logo-img{grid-area:1/1;width:76%;height:76%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 8px 18px rgba(0,0,0,.15))}

/* Replaceable footer logo. */
.premium-footer .footer-logo{position:relative;overflow:hidden}
.footer-logo-fallback{grid-area:1/1;z-index:0}
.footer-logo-img{grid-area:1/1;width:78%;height:78%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}

/* Small interaction polish for links that jump to sections. */
.desktop-nav a,.mobile-nav a,.hero-cta a,.cart-btn{scroll-margin-top:var(--anchor-offset)}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:1px;background:var(--green-dark);transition:left .3s cubic-bezier(.16,1,.3,1),right .3s cubic-bezier(.16,1,.3,1)}
.desktop-nav a:hover::after,.desktop-nav a.active::after{left:0;right:0}

@media (max-width:760px){
  :root{--anchor-offset:88px}
  .brand-logo-wrap{width:36px;height:36px;flex-basis:36px}
}
.brand-logo-wrap.has-custom-image .brand-logo-fallback,
.app-store-logo.has-custom-image .canva-logo-fallback,
.footer-logo.has-custom-image .footer-logo-fallback{opacity:0}
.brand-logo-fallback,.canva-logo-fallback,.footer-logo-fallback{transition:opacity .2s ease}

/* ===== V10 navigation order + expanded service intro + contact CTAs ===== */
:root{--anchor-offset:106px}
#home,#about,#products,#features,#star-shop,#app-store,#faq,#contact{scroll-margin-top:var(--anchor-offset)}

/* The service intro intentionally uses the otherwise-empty left rail. */
.service-heading{display:flex;flex-direction:column;align-self:start;gap:0;padding-right:4px}
.service-heading .service-lead{margin-top:14px;font-size:13px;line-height:1.65;color:#656d68}
.service-info-card{margin-top:18px;padding:15px 14px;border:1px solid #cbd1ca;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(235,240,234,.72));position:relative;overflow:hidden}
.service-info-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green)}
.service-info-card>small{display:block;font:700 8px DM Mono,monospace;letter-spacing:.18em;color:#6c9d73;margin-bottom:9px}
.service-info-card>p{font-size:10.5px;line-height:1.58;color:#69716c;margin:0}
.service-info-card>p b{color:#303733;font-weight:700}
.service-support-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.service-support-tags span{padding:5px 6px;border:1px solid #c5cbc5;background:rgba(255,255,255,.68);font:700 6.8px DM Mono,monospace;letter-spacing:.08em;color:#505953}
.service-info-card>em{display:block;margin-top:8px;font:italic 7.2px/1.45 DM Mono,monospace;color:#929893}
.service-info-dark{background:linear-gradient(145deg,#202421,#151817);border-color:#323833;color:#fff}
.service-info-dark::before{background:#f2d46c}
.service-info-dark>small{color:#f2d46c}
.service-info-dark>strong{display:block;font-size:13px;line-height:1.12;letter-spacing:-.02em;margin-bottom:8px;color:#fff}
.service-info-dark>p{color:#bbc2bd}

/* Canva order is a contact chooser, not a direct external link. */
.app-plan .app-order-btn{align-self:stretch;display:grid;place-items:center;padding:0 12px;border:0;border-left:1px solid #3e4540;background:transparent;font:700 8px DM Mono,monospace;letter-spacing:.08em;color:#e9efeb;cursor:pointer;transition:color .2s ease,background .2s ease}
.app-plan .app-order-btn:hover{color:#76ddd1;background:rgba(255,255,255,.025)}
.app-plan-owner .app-order-btn:hover{color:#c79cf3}

/* Keep the premium shine effect after changing anchors into buttons. */
.app-order-btn,.star-buy-btn{position:relative;overflow:hidden}
.app-order-btn::after,.star-buy-btn::after{content:"";position:absolute;top:-100%;bottom:-100%;width:28px;left:-45px;transform:rotate(18deg);background:rgba(255,255,255,.24);transition:left .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
.app-order-btn:hover::after,.star-buy-btn:hover::after{left:calc(100% + 25px)}
.star-buy-btn{border:0;cursor:pointer}

/* Seven navigation items: keep the desktop header airy without wrapping. */
.desktop-nav{gap:clamp(12px,1.55vw,26px);white-space:nowrap}

@media (max-width:1100px){
  .brand{min-width:175px}
  .desktop-nav{gap:12px;font-size:10px}
  .contact-pill{padding-left:14px;padding-right:14px}
  .service-heading{padding-right:0}
}
@media (max-width:940px) and (min-width:761px){
  .brand{min-width:145px}
  .brand-copy small{display:none}
  .header-actions{gap:10px}
  .cart-btn{display:none}
  .desktop-nav{gap:10px;font-size:9px}
}
@media (max-width:760px){
  :root{--anchor-offset:88px}
  .service-heading{margin-bottom:26px}
  .service-info-card{max-width:620px}
  .app-plan .app-order-btn{padding:0 8px}
}

/* V11: replaceable hero mini-preview images */
.hero-mini-visual{position:relative;height:62px;overflow:hidden;border:1px solid #222;background:#e9eee8}
.hero-mini-visual .face-preview{position:absolute;inset:0;height:100%;border:0}
.hero-mini-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;z-index:2}
.hero-mini-image.is-missing{display:none}
@media (max-width:860px){.hero-mini-visual{height:56px}}


/* ===== V12 replaceable logo reliability fix ===== */
.brand-logo-img,.canva-logo-img,.footer-logo-img{display:block;max-width:100%;max-height:100%}
.brand-logo-wrap,.app-store-logo,.premium-footer .footer-logo{isolation:isolate}
.brand-logo-img,.canva-logo-img,.footer-logo-img{pointer-events:none}

/* ===== V13 plan artwork layering fix =====
   When a real plan image loads, remove the old CSS/vector fallback artwork.
   This keeps transparent PNGs clean instead of showing the generated eye/face/body shapes through them. */
.plan-card .card-art.has-custom-image,
.plan-card .stock-art.has-custom-image{
  background:#e9eee8 !important;
}
.plan-card .card-art.has-custom-image::before,
.plan-card .card-art.has-custom-image::after,
.plan-card .stock-art.has-custom-image::before,
.plan-card .stock-art.has-custom-image::after{
  content:none !important;
  display:none !important;
}
.plan-card .stock-art.has-custom-image > span,
.plan-card .stock-art.has-custom-image > i{
  display:none !important;
}
.plan-card .card-art.has-custom-image .plan-thumb-img,
.plan-card .stock-art.has-custom-image .plan-thumb-img{
  z-index:5;
}

/* Learn More: the placeholder must disappear as soon as the selected poster image loads. */
.poster-image-wrap.has-custom-image .showcase-image-fallback,
.showcase-image-wrap.has-custom-image .showcase-image-fallback{
  display:none !important;
}

/* ===== V14 — pure transparent-PNG logo slots =====
   No symbol, letter, gradient badge, or vector fallback sits behind these images. */
.brand-logo-fallback,.canva-logo-fallback,.footer-logo-fallback{display:none!important}
.png-logo-slot{background:transparent!important;box-shadow:none!important}

.brand-logo-wrap.png-logo-slot{
  width:46px;height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;
  overflow:visible;border:0!important;border-radius:0!important;
}
.brand-logo-wrap .brand-logo-img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain;object-position:center;filter:none!important;display:block;
}

.app-store-logo.png-logo-slot{
  width:82px;height:82px;flex:0 0 82px;display:flex;align-items:center;justify-content:center;
  overflow:visible;border:0!important;border-radius:0!important;
}
.app-store-logo .canva-logo-img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain;object-position:center;filter:none!important;display:block;
}

.premium-footer .footer-logo.png-logo-slot{
  width:82px;height:82px;flex:0 0 82px;display:flex;align-items:center;justify-content:center;
  overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:inherit!important;
}
.premium-footer .footer-logo .footer-logo-img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain;object-position:center;filter:none!important;display:block;
}
.slot-logo-img{pointer-events:none;background:transparent!important}

@media (max-width:760px){
  .brand-logo-wrap.png-logo-slot{width:38px;height:38px;flex-basis:38px}
  .app-store-logo.png-logo-slot{width:62px;height:62px;flex-basis:62px}
  .premium-footer .footer-logo.png-logo-slot{width:70px;height:70px;flex-basis:70px}
}

/* ===== V15 discount control ===== */
.plan-discount{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:-2px 0 13px;
  padding:9px 11px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--plan-color,#9fd3a5) 65%,#c6ccc7);
  background:linear-gradient(115deg,color-mix(in srgb,var(--plan-color,#9fd3a5) 18%,#fff),rgba(255,255,255,.94));
  box-shadow:0 10px 26px rgba(23,29,25,.06), inset 0 1px rgba(255,255,255,.86);
  overflow:hidden;
  isolation:isolate;
}
.plan-discount::before{
  content:"";
  position:absolute;
  top:-120%;
  bottom:-120%;
  left:-28%;
  width:22%;
  transform:rotate(20deg);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.72),rgba(255,255,255,0));
  animation:planDiscountShine 3.2s ease-in-out infinite;
  pointer-events:none;
}
.plan-discount::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0));
  pointer-events:none;
}
.plan-discount-label,
.plan-discount-slots{position:relative;z-index:1}
.plan-discount-label{
  font:700 7px DM Mono,monospace;
  letter-spacing:.16em;
  color:color-mix(in srgb,var(--plan-color,#9fd3a5) 72%, #425047);
}
.plan-discount-slots{
  font:900 13px/1 Inter,sans-serif;
  letter-spacing:-.02em;
  color:#151917;
  text-shadow:0 1px 0 rgba(255,255,255,.25);
}
.plan-extra .plan-discount{
  border-color:#4a4f4b;
  background:linear-gradient(115deg,#131515,#202422);
}
.plan-extra .plan-discount-label{color:#afb7b2}
.plan-extra .plan-discount-slots{color:#fff}
.plan-discount.is-hidden{display:none!important}

@keyframes planDiscountShine{
  0%,18%{left:-28%;opacity:0}
  28%{opacity:1}
  52%{left:110%;opacity:.95}
  100%{left:110%;opacity:0}
}

@media (prefers-reduced-motion:reduce){
  .plan-discount::before{animation:none}
}


/* ===== V17 Learn More labels: no boxes, plan-colored text only ===== */
.service-dossier[data-plan="Lite"] .poster-meta span,
.service-dossier[data-plan="Lite"] .poster-meta small{color:#6fa978}

.service-dossier[data-plan="Plus"] .poster-meta span,
.service-dossier[data-plan="Plus"] .poster-meta small{color:#c89b23}

.service-dossier[data-plan="Complex"] .poster-meta span,
.service-dossier[data-plan="Complex"] .poster-meta small{color:#c94b4b}

.service-dossier[data-plan="Extra"] .poster-meta span,
.service-dossier[data-plan="Extra"] .poster-meta small{color:#111312}

/* ===== V18 compact + stable Learn More layout =====
   Assets are untouched. This only stabilizes the poster/card layout. */
.service-dossier .service-carousel-shell{
  overflow:hidden;
  padding-top:24px;
  padding-bottom:64px;
}

.service-dossier .showcase-panel{
  width:min(520px,calc(100vw - 168px));
  height:min(76dvh,700px);
  max-height:700px;
  grid-template-rows:minmax(0,1fr) 190px;
}

/* Keep the large plan title on ONE line so COMPLEX never breaks into COMPL / X. */
.service-dossier .poster-big-word{
  left:8px;
  right:8px;
  top:0;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  line-height:.78;
  font-size:clamp(58px,7vw,104px);
  letter-spacing:-.075em;
}
.service-dossier[data-plan="Complex"] .poster-big-word{
  font-size:clamp(52px,6.2vw,88px);
  letter-spacing:-.07em;
}

/* Metadata stays as plain colored text, but its width and wrapping are predictable. */
.service-dossier .poster-meta{
  width:max-content;
  max-width:38%;
  gap:3px;
}
.service-dossier .poster-meta span{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:normal;
  line-height:1.06;
}
.service-dossier .poster-meta small{
  display:block;
  max-width:100%;
  white-space:normal;
  line-height:1.2;
}

/* Information block has a fixed, compact rhythm so the footer is always visible. */
.service-dossier .poster-info{
  padding:12px 18px 0;
  overflow:hidden;
}
.service-dossier .poster-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.service-dossier .poster-title-row h2{
  min-width:0;
  max-width:none;
  white-space:nowrap;
  font-size:clamp(28px,3vw,42px);
  line-height:.92;
}
.service-dossier[data-plan="Complex"] .poster-title-row h2{
  font-size:clamp(27px,2.8vw,39px);
}
.service-dossier .poster-title-meta{gap:5px}
.service-dossier .poster-desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:7px 0 8px;
  font-size:10px;
  line-height:1.36;
}
.service-dossier .poster-chips{
  gap:5px;
  margin:0 0 8px;
}
.service-dossier .poster-chips span{
  padding:5px 7px;
  font-size:6.8px;
}
.service-dossier .poster-bottom-bar{
  min-height:38px;
}

/* Short desktop screens */
@media (max-height:760px) and (min-width:701px){
  .service-dossier .showcase-panel{
    height:min(78dvh,620px);
    max-height:620px;
    grid-template-rows:minmax(0,1fr) 178px;
  }
  .service-dossier .poster-big-word{font-size:clamp(54px,6.2vw,82px)}
  .service-dossier[data-plan="Complex"] .poster-big-word{font-size:clamp(48px,5.6vw,74px)}
  .service-dossier .poster-script{top:58px;font-size:30px}
  .service-dossier .poster-image-wrap{inset:40px 28px 0}
}

/* Mobile: hard cap the card height instead of letting 84–87vh become extremely tall. */
@media (max-width:700px){
  .service-dossier .service-carousel-shell{
    padding:16px 9px 70px;
  }
  .service-dossier .showcase-panel{
    width:min(430px,calc(100vw - 18px));
    height:min(72dvh,610px);
    max-height:610px;
    min-height:0;
    grid-template-rows:minmax(0,1fr) 186px;
  }
  .service-dossier .poster-big-word{
    left:10px;
    right:10px;
    top:2px;
    font-size:clamp(48px,15vw,68px);
    letter-spacing:-.07em;
  }
  .service-dossier[data-plan="Complex"] .poster-big-word{
    font-size:clamp(42px,12.6vw,58px);
    letter-spacing:-.062em;
  }
  .service-dossier .poster-script{
    top:52px;
    font-size:clamp(25px,7.6vw,34px);
  }
  .service-dossier .poster-topline{left:11px;right:11px;top:10px}
  .service-dossier .poster-meta{max-width:34%}
  .service-dossier .poster-meta-left{left:12px;top:42%}
  .service-dossier .poster-meta-right{right:12px;top:47%}
  .service-dossier .poster-meta span{font-size:8.5px}
  .service-dossier .poster-meta small{font-size:5.8px}
  .service-dossier .poster-image-wrap{inset:38px 8px 0}
  .service-dossier .poster-index{right:12px;bottom:36px}
  .service-dossier .poster-index strong{font-size:50px}
  .service-dossier .poster-tech-copy{left:11px;bottom:10px;font-size:5.2px}

  .service-dossier .poster-info{padding:11px 13px 0}
  .service-dossier .poster-title-row{gap:7px}
  .service-dossier .poster-title-row h2{font-size:27px}
  .service-dossier[data-plan="Complex"] .poster-title-row h2{font-size:25px}
  .service-dossier .poster-title-meta{gap:4px}
  .service-dossier .poster-pill{font-size:5.8px;padding:5px 6px}
  .service-dossier .poster-price{font-size:11px;padding:5px 7px}
  .service-dossier .poster-desc{
    -webkit-line-clamp:2;
    font-size:8.8px;
    line-height:1.32;
    margin:6px 0 7px;
  }
  .service-dossier .poster-chips{gap:4px;margin-bottom:7px}
  .service-dossier .poster-chips span{font-size:6.1px;padding:5px 6px}
  .service-dossier .poster-bottom-bar{
    margin-left:-13px;
    margin-right:-13px;
    min-height:36px;
    padding:0 8px;
    font-size:5.4px;
  }
  .service-dossier .poster-bottom-bar strong{font-size:7.5px}
  .service-dossier .showcase-close{width:28px;height:28px;font-size:20px}

  .service-dossier .service-nav{bottom:14px}
  .service-dossier .service-swipe-hint{bottom:25px}
}

@media (max-width:420px){
  .service-dossier .showcase-panel{
    height:min(70dvh,575px);
    max-height:575px;
    grid-template-rows:minmax(0,1fr) 182px;
  }
  .service-dossier .poster-big-word{font-size:clamp(45px,14.5vw,62px)}
  .service-dossier[data-plan="Complex"] .poster-big-word{font-size:clamp(40px,12vw,53px)}
  .service-dossier .poster-script{top:49px;font-size:clamp(23px,7vw,31px)}
  .service-dossier .poster-meta{max-width:32%}
  .service-dossier .poster-title-row h2{font-size:25px}
  .service-dossier[data-plan="Complex"] .poster-title-row h2{font-size:23px}
  .service-dossier .poster-chips span{font-size:5.8px}
}
