/* Soulvera, shared styles for service pages. Mirrors the tokens in index.html. */
:root { color-scheme: dark; }
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { font-family: 'Space Grotesk', sans-serif; background: #0e1714; }
.font-display { font-family: 'Fraunces', serif; font-optical-sizing: auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .24em; font-size: .72rem; font-weight: 600; }

/* wordmark sheen */
.sheen { background: linear-gradient(180deg,#f3f5ee 0%, #e7ecdf 40%, #b9c6b6 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* reveal */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.6,.3,1),transform .8s cubic-bezier(.2,.6,.3,1);transition-delay:var(--d,0ms);will-change:opacity,transform;}
[data-reveal].in{opacity:1;transform:none;}
.no-js [data-reveal]{opacity:1;transform:none;}

/* buttons */
.btn-gold{background:linear-gradient(180deg,#e4c987 0%,#d4b572 55%,#c6a85f 100%);color:#11201a;border:1px solid rgba(122,96,40,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 16px -10px rgba(0,0,0,.6);transition:transform .2s cubic-bezier(.2,.6,.3,1),box-shadow .2s ease,filter .2s ease;}
.btn-gold:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 24px -12px rgba(0,0,0,.6),0 0 0 1px rgba(231,210,163,.3);}
.btn-gold:active{transform:translateY(0) scale(.985);box-shadow:inset 0 2px 4px rgba(80,60,20,.35);}
.btn-ghost{border:1px solid rgba(238,241,234,.18);color:#eef1ea;background:rgba(238,241,234,.015);transition:border-color .2s,background-color .2s,color .2s,transform .2s;}
.btn-ghost:hover{border-color:rgba(212,181,114,.55);background:rgba(212,181,114,.07);color:#fff;}
.btn-ghost:active{transform:scale(.985);}

.link-grow{position:relative;}
.link-grow::after{content:'';position:absolute;left:0;bottom:-4px;height:1.5px;width:0;background:#d4b572;transition:width .3s ease;}
.link-grow:hover::after,.link-grow[aria-current="true"]::after{width:100%;}
.link-grow[aria-current="true"]{color:#eef1ea;}

.nav-glass{background:rgba(14,23,20,.72);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);}

/* techy grid + grain overlays */
.grid-fade{background-image:linear-gradient(rgba(238,241,234,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,234,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);}
.grain::after{content:'';position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.card{transition:transform .35s cubic-bezier(.2,.6,.3,1),box-shadow .35s ease,border-color .35s ease;}
.card:hover{transform:translateY(-4px);border-color:rgba(212,181,114,.4);box-shadow:0 30px 60px -34px rgba(0,0,0,.7);}

/* FAQ accordion */
.faq{border-bottom:1px solid #2b3a31;}
.faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;font-family:'Fraunces',serif;font-size:1.1rem;color:#eef1ea;transition:color .25s ease;}
.faq>summary::-webkit-details-marker{display:none;}
.faq>summary:hover{color:#e7d2a3;}
.faq>summary .chev{flex:none;transition:transform .3s ease;color:#d4b572;}
.faq[open]>summary .chev{transform:rotate(45deg);}
.faq>.faq-body{padding:0 0 1.35rem;color:#aab4a8;max-width:60ch;line-height:1.65;}

/* plan builder */
.plan-card{transition:border-color .2s,background-color .2s;}
.plan-card.is-on{border-color:rgba(212,181,114,.45);background:rgba(212,181,114,.05);}
.plan-box{color:#11201a;transition:background-color .2s,border-color .2s;}
.plan-box svg{opacity:0;transition:opacity .2s;}
.plan-check:checked ~ .plan-box{background:#d4b572;border-color:#d4b572;}
.plan-check:checked ~ .plan-box svg{opacity:1;}
.opt-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border-radius:9999px;border:1px solid #2b3a31;font-size:.85rem;font-weight:600;color:#aab4a8;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;}
.opt-pill:hover{border-color:rgba(212,181,114,.5);color:#eef1ea;}
.opt-radio:checked + .opt-pill{background:#d4b572;border-color:#d4b572;color:#11201a;}
.opt-radio:focus-visible + .opt-pill{outline:2px solid #d4b572;outline-offset:2px;}

/* ============ Feature bento grid (What you get) ============ */
.feat-grid{display:grid;gap:1px;background:#223029;border:1px solid #2b3a31;border-radius:1.5rem;overflow:hidden;box-shadow:0 50px 100px -60px rgba(0,0,0,.9);}
@media (min-width:640px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.feat-grid{grid-template-columns:repeat(3,1fr);}}
.feat-cell{position:relative;background:#111c17;padding:2.1rem 1.9rem;overflow:hidden;transition:background-color .4s ease;}
.feat-cell::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .5s ease;background:radial-gradient(135% 90% at 50% -15%,rgba(79,176,121,.16),transparent 60%);pointer-events:none;}
.feat-cell::after{content:'';position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,#d4b572,rgba(212,181,114,0));transition:width .45s cubic-bezier(.2,.6,.3,1);}
.feat-cell:hover{background:#15221c;}
.feat-cell:hover::before{opacity:1;}
.feat-cell:hover::after{width:100%;}
.feat-cell>*{position:relative;}
.feat-cell .ico{box-shadow:inset 0 0 0 1px rgba(79,176,121,.2);transition:background-color .4s ease,color .4s ease,box-shadow .4s ease,transform .4s ease;}
.feat-cell:hover .ico{color:#e7d2a3;background:rgba(212,181,114,.14);box-shadow:inset 0 0 0 1px rgba(212,181,114,.32);transform:translateY(-2px);}
.feat-cell h3{transition:color .35s ease;}
.feat-cell:hover h3{color:#e7d2a3;}

/* ============ How it works, editorial steps ============ */
.step{position:relative;padding-top:1.85rem;}
.step::before{content:'';position:absolute;top:0;left:0;width:2.75rem;height:3px;border-radius:3px;background:linear-gradient(90deg,#d4b572,rgba(212,181,114,0));}
.step-num{font-family:'Fraunces',serif;font-weight:400;font-size:3.1rem;line-height:1;color:rgba(212,181,114,.85);font-variant-numeric:tabular-nums;}

/* ============ Refined panel cards (Why Soulvera) ============ */
.why-card{position:relative;border-radius:1rem;padding:1.5rem;background:linear-gradient(180deg,rgba(26,41,34,.75),rgba(20,32,27,.45));border:1px solid #2b3a31;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease;}
.why-card:hover{border-color:rgba(212,181,114,.38);transform:translateY(-3px);box-shadow:0 26px 54px -36px rgba(0,0,0,.85);}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #d4b572;outline-offset:3px;border-radius:4px;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;}
}
