/* ===== Ace luxe layer: polish + motion (pure CSS, no libraries) ===== */
::selection{background:#EADBB8;color:#0B1426}
h2{letter-spacing:-.018em}
.sec-head .sub,.sec-head p.sub{line-height:1.7}
.sec-head .eyebrow{gap:12px}
.sec-head .eyebrow .dot{display:none}
.sec-head .eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.55;flex:none}
/* generous whitespace on larger screens */
@media (min-width:1061px){.section{padding:136px 0}.sec{padding:124px 0}}
/* champagne hairline between light sections */
.section:not(.dark),.sec:not(.dark){background-image:linear-gradient(90deg,transparent,rgba(198,166,101,.42),transparent);background-size:min(1080px,84%) 1px;background-repeat:no-repeat;background-position:50% 0}
/* depth + fine grain on navy */
.dark,.band,.final{position:relative;isolation:isolate}
.dark::before,.band::before,.final::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background: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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(900px 420px at 12% 0%,rgba(216,190,132,.09),transparent 62%),radial-gradient(700px 380px at 92% 100%,rgba(70,96,150,.16),transparent 65%);
 opacity:.9}
.dark::before{opacity:1}
.band::before{opacity:.75}
/* polished buttons */
.btn{letter-spacing:.01em;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .35s,border-color .35s}
.btn-gold{background:linear-gradient(180deg,#E8D3A0 0%,#D5B877 55%,#C4A160 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(120,90,30,.18)}
.btn:active{transform:translateY(0) scale(.985)}
@media (hover:hover){
 .btn:hover{transform:translateY(-2px)}
 .btn-gold:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 16px 34px -14px rgba(160,124,50,.7)}
 .btn-ghost:hover{border-color:var(--gold2)}
}
/* nav gains a champagne hairline once scrolled */
.nav{transition:box-shadow .4s,border-color .4s,background .4s}
.nav.scrolled{border-bottom-color:rgba(198,166,101,.38);box-shadow:0 12px 30px -24px rgba(11,20,38,.45)}
/* consistent cards: gentle hover lift */
.plan.featured,.plan-pro{box-shadow:inset 0 1px 0 rgba(216,190,132,.35),0 40px 80px -40px rgba(11,20,38,.55)}
@media (hover:hover){
 .plan,.col,.priv>div,.timeline li,.report,.calc,.rp-stats>div,.works-chips li,.biz-list li,.langs li,.yt li{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
 .plan:hover,.priv>div:hover,.timeline li:hover,.col:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(11,20,38,.04),0 30px 60px -28px rgba(11,20,38,.38)}
 .plan.featured:hover,.plan-pro:hover{box-shadow:inset 0 1px 0 rgba(216,190,132,.45),0 44px 90px -40px rgba(11,20,38,.7)}
 .rp-stats>div:hover,.works-chips li:hover,.langs li:hover,.yt li:hover{transform:translateY(-2px);border-color:#D6C39A}
 .report:hover,.calc:hover{transform:translateY(-3px)}
}
/* after a reveal finishes, hover reacts quickly */
.js .reveal.in.done{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s,background-color .6s,opacity .45s}
/* count-up numbers never jitter */
.rrow b,.rp-stats b,#o-total{font-variant-numeric:tabular-nums}

/* ===== motion (only when the visitor allows it) ===== */
@media (prefers-reduced-motion:no-preference){
 /* hero entrance on load */
 .hero-copy>*{animation:luxUp .95s cubic-bezier(.2,.7,.2,1) both}
 .hero-copy>*:nth-child(2){animation-delay:.08s}
 .hero-copy>*:nth-child(3){animation-delay:.18s}
 .hero-copy>*:nth-child(4){animation-delay:.28s}
 .hero-copy>*:nth-child(5){animation-delay:.36s}
 .hero-copy>*:nth-child(6){animation-delay:.44s}
 .hero .photo{animation:luxPhoto 1.4s cubic-bezier(.2,.7,.2,1) .1s both}
 .hero-glow{animation:luxGlow 9s ease-in-out infinite alternate}
 .hero .eyebrow .dot{animation:luxDot 2.8s ease-in-out infinite}
 /* champagne shimmer across the headline accent */
 .hero h1 em{background:linear-gradient(100deg,var(--gold-ink) 0%,var(--gold-ink) 36%,#D7BC7C 50%,var(--gold-ink) 64%,var(--gold-ink) 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-right:.08em;margin-right:-.08em;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:luxShimmer 7s ease-in-out 1.3s infinite}
 /* floating status cards */
 .chip-float,.float-card{animation:luxUp .9s cubic-bezier(.2,.7,.2,1) .7s both}
 .float-card .fc-top,.float-card .fc-main,.float-card .fc-sub{animation:luxUp .7s cubic-bezier(.2,.7,.2,1) both}
 .float-card .fc-top{animation-delay:1.1s}.float-card .fc-main{animation-delay:1.9s}.float-card .fc-sub{animation-delay:2.6s}
 .float-card .live{animation:luxLive 2.2s ease-out infinite}
 /* the system flow line carries a travelling spark */
 .d-flow::before{content:"";position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:#F4E3B8;box-shadow:0 0 10px 2px rgba(216,190,132,.7);animation:luxFlow 2.6s cubic-bezier(.5,0,.5,1) infinite}
 /* softly breathing "Book a demo" */
 .hero .btn-gold{position:relative}
 .hero .btn-gold::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 6px rgba(216,190,132,.28),0 0 30px 6px rgba(216,190,132,.38);opacity:0;animation:luxBreathe 3.4s ease-in-out 1.8s infinite}
 .hero .btn-gold::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.42) 50%,transparent 70%) no-repeat;background-size:250% 100%;background-position:130% 0;animation:luxSheen 6.8s ease-in-out 2.4s infinite}
 @media (hover:hover){.chip-float{animation:luxUp .9s cubic-bezier(.2,.7,.2,1) .7s both,luxFloat 7s ease-in-out 1.8s infinite}.float-card{animation:luxUp .9s cubic-bezier(.2,.7,.2,1) .7s both,luxFloat 7s ease-in-out 1.8s infinite}}
 /* hero photo parallax (js sets --py) */
 .motion .hero .photo img{transform:translate3d(0,var(--py,0px),0) scale(1.07);will-change:transform}
 /* phone chat: messages arrive one by one */
 .motion .phone-in{position:relative}
 .motion .phone .msg.wait,.motion .phone .ph-note.wait{opacity:0;transform:translateY(8px) scale(.96)}
 .motion .phone .msg,.motion .phone .ph-note{transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
 .motion .phone .msg.in{transform-origin:0 100%}.motion .phone .msg.out{transform-origin:100% 100%}
 .typing{position:absolute;display:flex;gap:3px;align-items:center;padding:9px 11px;border-radius:16px;opacity:0;transform:scale(.9);transition:opacity .25s,transform .25s;pointer-events:none}
 .typing.on{opacity:1;transform:none}
 .typing.t-in{left:12px;background:#E7E2D8;border-bottom-left-radius:5px}
 .typing.t-out{right:12px;background:var(--ink);border-bottom-right-radius:5px}
 .typing i{width:5px;height:5px;border-radius:50%;background:#8D8678;animation:luxType 1.1s ease-in-out infinite}
 .typing.t-out i{background:var(--gold)}
 .typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
 /* the eight stages light up in sequence */
 .motion .stage{overflow:hidden;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .8s cubic-bezier(.2,.7,.2,1),border-color .7s,box-shadow .7s,background-color .7s}
 .motion .stage::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(244,227,184,.20) 50%,transparent 70%);transform:translateX(-110%)}
 .motion .stage.lit::after{animation:luxSweep 1.2s cubic-bezier(.3,.6,.3,1) forwards}
 .motion .stage .stage-n,.motion .stage .num{transition:color .6s,text-shadow .6s,opacity .6s}
 .motion .stage:not(.lit) .stage-n{opacity:.4}
 .motion .stage .st-ic{transition:box-shadow .7s,transform .7s}
}
/* lit states (also fine without motion) */
.dark .stage.lit{border-color:rgba(216,190,132,.5);box-shadow:0 0 0 1px rgba(216,190,132,.12),0 22px 46px -26px rgba(216,190,132,.55)}
.dark .stage.lit .stage-n{color:#F4E3B8;text-shadow:0 0 18px rgba(216,190,132,.65)}
.dark .stage.lit .ic{color:var(--gold);opacity:1}
.stage.lit .num{color:var(--gold2)}
.stage.lit .st-ic{box-shadow:0 0 0 4px rgba(216,190,132,.28),0 10px 22px -10px rgba(198,166,101,.75)}
.sec .stage.lit{border-color:#DCCBA3;box-shadow:0 1px 2px rgba(11,20,38,.04),0 24px 54px -26px rgba(140,107,47,.45)}
@keyframes luxUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes luxPhoto{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}
@keyframes luxGlow{from{opacity:.75;transform:translate3d(0,0,0)}to{opacity:1;transform:translate3d(-3%,2%,0)}}
@keyframes luxDot{0%,100%{box-shadow:0 0 0 4px rgba(198,166,101,.18)}50%{box-shadow:0 0 0 7px rgba(198,166,101,.05)}}
@keyframes luxShimmer{0%{background-position:100% 0}42%,100%{background-position:0 0}}
@keyframes luxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes luxLive{0%{box-shadow:0 0 0 0 rgba(47,122,91,.45)}100%{box-shadow:0 0 0 10px rgba(47,122,91,0)}}
@keyframes luxFlow{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(42px);opacity:0}}
@keyframes luxBreathe{0%,100%{opacity:0}50%{opacity:1}}
@keyframes luxSheen{0%{background-position:130% 0}22%,100%{background-position:-30% 0}}
@keyframes luxType{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
@keyframes luxSweep{to{transform:translateX(110%)}}
@media (prefers-reduced-motion:reduce){
 .hero-copy>*,.hero .photo,.chip-float,.float-card,.float-card *,.hero-glow,.hero .btn-gold::after,.hero .btn-gold::before,.d-flow::before,.stage::after{animation:none!important}
}

/* ===== Your own dedicated line ===== */
.dline-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.dline .sec-head.left{margin:0 0 34px}
.dl-pts{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.dl-pts li{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start}
.dl-pts .ic{width:42px;height:42px;padding:10px;border-radius:12px;border:1px solid rgba(216,190,132,.35);background:rgba(216,190,132,.08);color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dl-pts h3{font-size:17px;font-weight:600;color:#fff;margin:2px 0 4px;line-height:1.3}
.dl-pts p{font-size:15px;color:var(--muted-d);margin:0;line-height:1.6}
.dl-card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid rgba(216,190,132,.28);border-radius:26px;padding:34px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 40px 80px -40px rgba(0,0,0,.6)}
.dl-tag{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 22px}
.dl-flow{list-style:none;padding:0;margin:0;display:grid;gap:0;position:relative}
.dl-flow li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:14px 0;position:relative}
.dl-flow li+li:before{content:"";position:absolute;left:21px;top:-10px;height:22px;width:1px;background:linear-gradient(var(--gold2),transparent)}
.dl-flow b{display:block;color:#fff;font-weight:600;font-size:15.5px;line-height:1.35}
.dl-flow span:not(.dl-ring):not(.dl-step){display:block;color:var(--muted-d);font-size:13.5px;margin-top:2px}
.dl-ring,.dl-step{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;position:relative}
.dl-ring{background:var(--gold);color:var(--ink)}
.dl-step{border:1px solid rgba(216,190,132,.45);color:var(--gold)}
.dl-ring .ic,.dl-step .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dl-quote{margin:20px 0 0;padding:22px 24px;border-radius:18px 18px 18px 6px;background:var(--champ);color:var(--ink);font-family:var(--serif);font-size:24px;line-height:1.3}
.dl-sum{margin-top:16px;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(11,20,38,.35)}
.dl-sum-l{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.dl-sum-l .ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dl-sum p{margin:6px 0 0;font-size:14.5px;color:#E6E9F0;line-height:1.55}
@media (max-width:980px){.dline-grid{grid-template-columns:1fr;gap:44px}}
@media (max-width:560px){.dl-card{padding:24px 20px;border-radius:22px}.dl-quote{font-size:21px;padding:18px 18px}.dl-pts h3{font-size:16px}}
/* gentle ring pulse on the incoming call (motion only) */
.motion .dl-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:dlpulse 2.4s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes dlpulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.dl-ring:after{animation:none!important;display:none}}
