/* ---------- tokens ---------- */
:root{
  --navy:#0F2C59;
  --navy-deep:#081B3D;
  --bg:#FFF9F3;
  --white:#FFFFFF;
  --orange:#D95F32;
  --orange-deep:#B84A26;
  --text:#14213D;
  --text-muted:#6B6259;
  --border:rgba(15,44,89,0.14);
  --radius:10px;
  --font-head:'Instrument Serif',serif;
  --font-body:'Inter',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px;}

h1,h2,h3{font-family:var(--font-head);font-weight:400;color:var(--navy);margin:0;}
h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.05;letter-spacing:-0.01em;}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.15;}
h3{font-family:var(--font-body);font-weight:600;}
p{margin:0;}
em,.italic{font-style:italic;font-family:var(--font-head);}

.noise-line{height:4px;width:100%;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 60%,var(--orange) 60%,var(--orange) 100%);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-stagger.visible .stagger-item{opacity:1;transform:translateY(0);}
.stagger-item{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.stagger-item:nth-child(1){transition-delay:.05s;}
.stagger-item:nth-child(2){transition-delay:.12s;}
.stagger-item:nth-child(3){transition-delay:.19s;}
.stagger-item:nth-child(4){transition-delay:.26s;}
.stagger-item:nth-child(5){transition-delay:.33s;}
.stagger-item:nth-child(6){transition-delay:.4s;}

@media (prefers-reduced-motion:reduce){
  .reveal,.stagger-item{opacity:1!important;transform:none!important;transition:none!important;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:6px;
  font-family:var(--font-body);font-weight:500;font-size:0.95rem;
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--orange);color:var(--white);}
.btn-primary:hover{background:var(--orange-deep);box-shadow:0 6px 18px rgba(255,107,53,0.35);}
.btn-ghost{border-color:var(--navy);color:var(--navy);}
.btn-ghost:hover{background:var(--navy);color:var(--white);}
.btn-outline{border-color:var(--border);color:var(--navy);width:100%;margin-top:22px;}
.btn-outline:hover{border-color:var(--navy);background:var(--bg);}
.btn-full{width:100%;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,246,248,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.header-row{display:flex;align-items:center;justify-content:space-between;height:60px;}
.brand{display:flex;align-items:center;gap:9px;}
.brand-mark{height:26px;width:auto;}
.brand-name{font-family:var(--font-body);font-weight:600;font-size:1.02rem;color:var(--navy);}
.main-nav{display:flex;align-items:center;gap:22px;}
.main-nav a{font-size:0.9rem;color:var(--text);position:relative;padding:4px 0;transition:color .2s ease;}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--orange);transition:width .25s ease;}
.main-nav a:not(.nav-cta):hover{color:var(--orange-deep);}
.main-nav a:not(.nav-cta):hover::after{width:100%;}
.main-nav a.active{color:var(--navy);font-weight:500;}
.main-nav a.active::after{width:100%;background:var(--navy);}
.main-nav a.active:hover::after{background:var(--orange);}
.nav-cta{background:var(--orange);color:var(--white)!important;padding:10px 24px;border-radius:30px;transition:background .2s ease,transform .15s ease;}
.nav-cta:hover{background:var(--navy);transform:translateY(-1px);}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:6px;position:relative;z-index:70;}
.nav-toggle span{width:22px;height:2px;background:var(--navy);display:block;border-radius:2px;transition:transform .5s cubic-bezier(.76,0,.24,1),opacity .3s ease,width .3s ease;}
.nav-toggle span:nth-child(2){width:14px;align-self:flex-start;margin-left:0;}
.nav-toggle.open span{background:var(--white);}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:22px;}

.mobile-overlay{
  position:fixed;inset:0;z-index:60;
  background:rgba(8,27,61,0.96);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;
  padding:32px;
  opacity:0;pointer-events:none;
  transition:opacity .6s cubic-bezier(.76,0,.24,1);
}
.mobile-overlay.open{opacity:1;pointer-events:auto;}
.mobile-links{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px;}
.mobile-links a{
  font-family:var(--font-head);font-style:italic;font-size:2.1rem;color:var(--white);
  padding:12px 0;width:100%;text-align:center;
  border-bottom:1px solid rgba(255,255,255,0.12);
  opacity:0;transform:translateY(20px);
  transition:opacity .5s ease,transform .5s ease,color .2s ease,padding-left .2s ease;
  transition-delay:calc(120ms + (var(--d)) * 70ms);
}
.mobile-overlay.open .mobile-links a{opacity:1;transform:translateY(0);}
.mobile-links a:hover{color:var(--orange);padding-left:10px;}
.mobile-links a.active{color:var(--orange);}
.mobile-cta{
  max-width:360px;opacity:0;transform:translateY(20px);
  transition:opacity .5s ease,transform .5s ease;
  transition-delay:calc(120ms + (var(--d)) * 70ms);
}
.mobile-overlay.open .mobile-cta{opacity:1;transform:translateY(0);}
body.menu-open{overflow:hidden;}
@media (min-width:721px){.mobile-overlay{display:none;}}

/* ---------- ticker ---------- */
.ticker{background:var(--navy);overflow:hidden;padding:11px 0;}
.ticker-track{display:flex;white-space:nowrap;animation:ticker 26s linear infinite;width:max-content;}
.ticker-track span{color:rgba(244,246,248,0.82);font-size:0.85rem;font-family:var(--font-body);font-weight:500;letter-spacing:0.02em;padding:0 22px;position:relative;}
.ticker-track span::after{content:"•";position:absolute;right:-2px;color:var(--orange);}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;}}

/* ---------- hero (home) ---------- */
/* ---------- hero (fullscreen editorial) ---------- */
.hero-full{
  position:relative;overflow:hidden;
  min-height:88vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 55%,#7A3418 130%);
  padding:120px 24px 80px;
  text-align:center;
}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,27,61,0.55),rgba(8,27,61,0.75));z-index:1;}
.hero-full::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0.5;
  background-image:radial-gradient(rgba(255,249,243,0.05) 1px, transparent 1px);
  background-size:5px 5px;
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:1;}
.hero-blob-a{width:460px;height:460px;background:rgba(217,95,50,0.55);top:-130px;left:-110px;animation:blobDrift 14s ease-in-out infinite;}
.hero-blob-b{width:380px;height:380px;background:rgba(184,74,38,0.4);bottom:-150px;right:-100px;animation:blobDrift 16s ease-in-out infinite reverse;}
.hero-blob-c{width:260px;height:260px;background:rgba(15,44,89,0.5);top:40%;right:8%;animation:blobDrift 20s ease-in-out infinite;}
@keyframes blobDrift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(40px,30px) scale(1.12);}}
.hero-full-inner{position:relative;z-index:3;max-width:820px;margin:0 auto;}
.eyebrow-light{color:var(--orange);}
.hero-headline{
  font-family:var(--font-head);font-weight:400;color:var(--white);
  font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:1.12;margin:18px 0 26px;
}
.hero-headline em{font-style:italic;color:rgba(255,249,243,0.85);}
.hero-full-sub{color:rgba(255,249,243,0.72);font-size:1.05rem;max-width:52ch;margin:0 auto 40px;line-height:1.7;}
.hero-actions-center{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.btn-icon{width:17px;height:17px;transition:transform .2s ease;}
.btn-light{background:var(--white);color:var(--navy);}
.btn-light:hover{background:var(--bg);}
.btn-light:hover .btn-icon{transform:translateX(3px);}
.btn-outline-light{border-color:rgba(255,249,243,0.4);color:var(--white);}
.btn-outline-light:hover{background:rgba(255,249,243,0.1);border-color:rgba(255,249,243,0.6);}
@media (max-width:640px){.hero-full{min-height:auto;padding:100px 20px 64px;}}
@media (prefers-reduced-motion:reduce){.hero-blob{animation:none;}}

.hero{padding:76px 0 60px;}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.eyebrow-plain{color:var(--orange-deep);font-size:0.9rem;font-weight:500;margin-bottom:14px;}
.hero-copy h1{margin-bottom:20px;}
.hero-sub{color:var(--text-muted);font-size:1.05rem;max-width:46ch;margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{display:flex;justify-content:center;}
.hero-stack{position:relative;width:100%;max-width:380px;height:380px;perspective:1400px;}
.hero-stack-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-16deg) rotateX(8deg);animation:heroFloat 7s ease-in-out infinite;}
@keyframes heroFloat{0%,100%{transform:rotateY(-16deg) rotateX(8deg) translateY(0);}50%{transform:rotateY(-12deg) rotateX(6deg) translateY(-14px);}}
.hero-panel{position:absolute;border-radius:14px;box-shadow:0 30px 50px rgba(8,27,61,0.28);}
.hero-panel-back{
  width:260px;height:190px;top:10px;left:10px;background:var(--navy);
  transform:translateZ(-50px);padding:14px;
}
.hero-panel-back .dot-row{display:flex;gap:5px;margin-bottom:14px;}
.hero-panel-back .dot{width:7px;height:7px;border-radius:50%;background:rgba(244,246,248,0.35);}
.hero-panel-back .fake-line{height:8px;border-radius:4px;background:rgba(244,246,248,0.18);margin-bottom:9px;}
.hero-panel-back .fake-line:nth-child(2){width:80%;}
.hero-panel-back .fake-line:nth-child(3){width:55%;}
.hero-panel-mid{
  width:200px;height:120px;bottom:20px;left:60px;background:var(--white);
  transform:translateZ(30px);padding:18px;
}
.hero-panel-mid .mid-icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.hero-panel-mid .mid-icon svg{width:18px;height:18px;color:var(--white);}
.hero-panel-mid .mid-title{font-family:var(--font-body);font-weight:600;color:var(--navy);font-size:0.95rem;}
.hero-panel-mid .mid-sub{font-size:0.78rem;color:var(--text-muted);margin-top:3px;}
.hero-panel-front{
  width:230px;height:130px;top:60px;right:-10px;background:var(--navy-deep);
  transform:translateZ(70px);padding:16px;font-family:'IBM Plex Mono',monospace;
}
.hero-panel-front .code-dots{display:flex;gap:5px;margin-bottom:12px;}
.hero-panel-front .code-dots span{width:7px;height:7px;border-radius:50%;}
.hero-panel-front .code-dots span:nth-child(1){background:#FF6B6B;}
.hero-panel-front .code-dots span:nth-child(2){background:#FFC857;}
.hero-panel-front .code-dots span:nth-child(3){background:#3DDC97;}
.hero-panel-front .code-line{height:7px;border-radius:3px;margin-bottom:8px;}
.hero-panel-front .code-line.c1{width:70%;background:rgba(255,107,53,0.55);}
.hero-panel-front .code-line.c2{width:88%;background:rgba(244,246,248,0.28);}
.hero-panel-front .code-line.c3{width:50%;background:rgba(61,220,151,0.5);}
@media (max-width:860px){.hero-stack{max-width:300px;height:300px;}.hero-panel-back{width:200px;height:150px;}.hero-panel-mid{width:160px;height:100px;left:40px;}.hero-panel-front{width:190px;height:110px;}}
@media (prefers-reduced-motion:reduce){.hero-stack-inner{animation:none;}}

/* ---------- page hero (inner pages) ---------- */
.page-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 75%,#5C2814 140%);
  padding:64px 0 56px;
}
.page-hero::after{
  content:"";position:absolute;top:-70px;right:-70px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,95,50,0.4) 0%,transparent 70%);
  pointer-events:none;animation:blobDrift 12s ease-in-out infinite;
}
.page-hero::before{
  content:"";position:absolute;bottom:-90px;left:-60px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,95,50,0.18) 0%,transparent 70%);
  pointer-events:none;animation:blobDrift 15s ease-in-out infinite reverse;
}
.page-hero .wrap{position:relative;}
@media (prefers-reduced-motion:reduce){.page-hero::after,.page-hero::before{animation:none;}}
.page-hero .eyebrow-plain{color:var(--orange);}
.page-hero h1{color:var(--white);}
.page-hero p{color:rgba(244,246,248,0.7);max-width:60ch;margin-top:14px;font-size:1.05rem;}

/* ---------- section shell ---------- */
section{padding:88px 0;}
.section-head{max-width:56ch;margin-bottom:44px;}
.section-head h2{margin-bottom:10px;}
.section-head p{color:var(--text-muted);font-size:1.02rem;}
.section-foot{margin-top:40px;}

/* ---------- process ---------- */
.process{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;position:relative;}
.process-step{padding:0 20px 0 0;position:relative;}
.process-num{font-family:var(--font-head);font-style:italic;font-size:2.6rem;color:var(--orange);opacity:0.9;margin-bottom:14px;}
.process-step h3{font-size:1.05rem;margin-bottom:8px;}
.process-step p{color:var(--text-muted);font-size:0.92rem;}
.process-step:not(:last-child)::after{
  content:"";position:absolute;top:20px;right:0;width:40%;height:1px;
  background:repeating-linear-gradient(90deg,var(--border) 0 6px,transparent 6px 12px);
  display:none;
}
@media (min-width:860px){.process-step:not(:last-child)::after{display:block;}}

/* ---------- services ---------- */
.services{background:var(--bg);}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;perspective:1200px;}
.service-card{
  position:relative;background:var(--white);padding:32px 28px;cursor:pointer;overflow:hidden;
  border-radius:14px;box-shadow:0 1px 2px rgba(15,44,89,0.06),0 12px 28px rgba(15,44,89,0.06);
  transform-style:preserve-3d;will-change:transform;
  transition:box-shadow .3s ease,transform .12s ease;
}
.service-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),var(--navy));}
.service-index{position:absolute;top:8px;right:16px;font-family:var(--font-head);font-size:4rem;color:var(--navy);opacity:0.06;line-height:1;pointer-events:none;}
.service-card:hover{box-shadow:0 20px 40px rgba(15,44,89,0.16);}
.service-icon{
  width:52px;height:52px;border-radius:12px;margin-bottom:20px;
  background:linear-gradient(135deg,var(--orange),var(--orange-deep));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(255,107,53,0.35);
  transition:transform .3s ease;
}
.service-card:hover .service-icon{transform:translateZ(20px) scale(1.06);}
.service-icon svg{width:26px;height:26px;color:var(--white);stroke-width:1.8;}
.service-card h3{font-size:1.1rem;color:var(--navy);margin-bottom:8px;position:relative;}
.service-card p{color:var(--text-muted);font-size:0.92rem;margin-bottom:16px;position:relative;}
.service-toggle{font-size:0.86rem;color:var(--orange-deep);font-weight:500;display:inline-flex;align-items:center;gap:6px;position:relative;}
.service-toggle svg{width:12px;height:12px;transition:transform .25s ease;}
.service-card.open .service-toggle svg{transform:rotate(180deg);}
.service-list{list-style:none;margin:0;padding-top:0;border-top:0 solid var(--border);max-height:0;overflow:hidden;position:relative;transition:max-height .35s ease,padding-top .35s ease,border-top-width .35s ease;}
.service-card.open .service-list{max-height:600px;padding-top:16px;border-top:1px solid var(--border);margin-top:16px;}
.service-list li{font-size:0.88rem;color:var(--text);padding:6px 0;border-bottom:1px dotted var(--border);}
.service-list li:last-child{border-bottom:none;}
@media (prefers-reduced-motion:reduce){.service-card{transform:none!important;}}

/* ---------- portfolio ---------- */
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.portfolio-loading{color:var(--text-muted);font-size:0.95rem;}
.portfolio-card{display:block;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--white);transition:transform .25s ease,box-shadow .25s ease;}
.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(15,44,89,0.12);}
.portfolio-thumb-wrap{position:relative;overflow:hidden;height:190px;background:var(--navy);}
.portfolio-thumb{height:100%;width:100%;object-fit:cover;transition:transform .4s ease;}
.portfolio-card:hover .portfolio-thumb{transform:scale(1.06);}
.portfolio-overlay{
  position:absolute;inset:0;background:rgba(15,44,89,0.78);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .25s ease;
}
.portfolio-card:hover .portfolio-overlay{opacity:1;}
.portfolio-overlay span{color:var(--white);font-weight:500;font-size:0.92rem;border-bottom:1px solid var(--orange);padding-bottom:2px;}
.portfolio-body{padding:20px 22px;}
.portfolio-body h3{font-size:1.02rem;color:var(--navy);margin-bottom:4px;}
.portfolio-tag{font-size:0.8rem;color:var(--orange-deep);margin-bottom:8px;display:block;}
.portfolio-body p{font-size:0.9rem;color:var(--text-muted);}
.portfolio-empty{border:1.5px dashed var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;min-height:190px;color:var(--text-muted);font-size:0.92rem;text-align:center;padding:20px;}

/* ---------- code window (coding vibe) ---------- */
.code-section{background:var(--navy-deep);}
.code-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.code-copy .eyebrow-plain{color:var(--orange);}
.code-copy h2{color:var(--white);margin:10px 0 16px;}
.code-copy p{color:rgba(244,246,248,0.68);font-size:1rem;max-width:42ch;}
.code-window{background:#0B2044;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.08);box-shadow:0 30px 60px rgba(0,0,0,0.35);}
.code-window-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:rgba(255,255,255,0.04);}
.code-window-bar span{width:10px;height:10px;border-radius:50%;}
.code-window-bar span:nth-child(1){background:#FF6B6B;}
.code-window-bar span:nth-child(2){background:#FFC857;}
.code-window-bar span:nth-child(3){background:#3DDC97;}
.code-window-body{padding:24px 26px;font-family:'IBM Plex Mono',monospace;font-size:0.85rem;line-height:1.9;overflow-x:auto;}
.code-window-body div{white-space:pre;}
.tok-com{color:rgba(244,246,248,0.35);}
.tok-key{color:#FF9466;}
.tok-tag{color:#FF6B35;}
.tok-str{color:#3DDC97;}
.tok-attr{color:#6FA8FF;}
.tok-plain{color:rgba(244,246,248,0.85);}

/* ---------- global reach / map ---------- */
.map-section{background:var(--white);}
.map-section .section-head{margin-left:auto;margin-right:auto;text-align:center;}
.globe-wrap{display:flex;justify-content:center;margin-top:20px;}
.globe{width:100%;max-width:420px;height:auto;}
.globe-ring{fill:none;stroke:var(--border);}
.globe-pin-main circle{fill:var(--orange);}
.globe-pin-main .pulse{fill:none;stroke:var(--orange);stroke-width:1.5;opacity:0.6;animation:pulseRing 2.4s ease-out infinite;}
@keyframes pulseRing{0%{r:6;opacity:0.7;}100%{r:26;opacity:0;}}
.globe-label{font-family:var(--font-body);font-size:11px;fill:var(--text-muted);}
.globe-label-main{font-family:var(--font-body);font-size:12px;fill:var(--navy);font-weight:600;}
@media (prefers-reduced-motion:reduce){.globe-pin-main .pulse{animation:none;}}

/* ---------- pricing ---------- */
.pricing{background:var(--navy-deep);}
.pricing .section-head h2,.pricing .section-head p{color:var(--white);}
.pricing .section-head p{opacity:0.7;}
.currency-toggle{display:inline-flex;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:30px;padding:4px;margin-bottom:36px;}
.curr-btn{border:none;background:transparent;color:rgba(244,246,248,0.7);font-family:var(--font-body);font-size:0.88rem;font-weight:500;padding:8px 20px;border-radius:24px;cursor:pointer;transition:background .2s ease,color .2s ease;}
.curr-btn.active{background:var(--orange);color:var(--white);}
.price-bdt{display:none;}
.currency-bdt .price-bdt{display:inline;}
.currency-bdt .price-usd{display:none;}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.price-card{background:var(--white);border-radius:var(--radius);padding:28px 24px;border:1px solid transparent;position:relative;transition:transform .25s ease;}
.price-card:hover{transform:translateY(-4px);}
.price-card-featured{border:2px solid var(--orange);}
.price-badge{position:absolute;top:-13px;left:24px;background:var(--orange);color:var(--white);font-size:0.75rem;font-weight:500;padding:4px 12px;border-radius:5px;}
.price-name{font-family:var(--font-body);font-weight:600;color:var(--navy);font-size:1.05rem;margin-bottom:10px;}
.price-value{font-family:var(--font-head);font-size:2.1rem;font-weight:400;color:var(--navy);}
.price-value span{font-size:1rem;font-weight:400;color:var(--text-muted);}
.price-value-usd{font-size:0.82rem;color:var(--text-muted);margin-top:4px;margin-bottom:18px;}
.price-features li{font-size:0.9rem;color:var(--text);padding:7px 0;border-bottom:1px solid var(--border);}
.price-features li:last-child{border-bottom:none;}
.payment-note{margin-top:44px;border-top:1px solid rgba(255,255,255,0.15);padding-top:32px;}
.payment-note-title{color:var(--white);font-weight:500;margin-bottom:14px;}
.payment-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.pay-badge{background:rgba(255,255,255,0.08);color:var(--white);font-size:0.85rem;padding:7px 14px;border-radius:5px;border:1px solid rgba(255,255,255,0.18);}
.payment-note-sub{color:rgba(255,255,255,0.65);font-size:0.88rem;max-width:60ch;}

/* ---------- order form ---------- */
.order{background:var(--bg);}
.order-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;}
.order-copy h2{margin-bottom:14px;}
.order-copy p{color:var(--text-muted);margin-bottom:24px;}
.order-contact{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.order-contact a{color:var(--navy);font-weight:500;font-size:0.95rem;}
.order-contact a:hover{color:var(--orange-deep);}
.order-badges{display:flex;gap:10px;flex-wrap:wrap;}
.order-badges span{font-size:0.82rem;color:var(--text-muted);border:1px solid var(--border);padding:6px 12px;border-radius:5px;}
.order-form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;}
.form-row{margin-bottom:18px;}
.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.form-row-split .form-row{margin-bottom:0;}
label{display:block;font-size:0.85rem;color:var(--text-muted);margin-bottom:6px;}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:0.95rem;background:var(--bg);color:var(--text);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);}
textarea{resize:vertical;}
.form-status{margin-top:14px;font-size:0.9rem;min-height:1.2em;}
.form-status.success{color:#1D7A4C;}
.form-status.error{color:#B4302B;}

/* ---------- blog post ---------- */
.post{max-width:720px;margin:0 auto;}
.post-image{width:100%;height:280px;object-fit:cover;border-radius:12px;margin-bottom:28px;}
.post h1{margin:10px 0 8px;}
.post-date{color:var(--text-muted);font-size:0.88rem;margin-bottom:32px;}
.post-body{overflow:hidden;} /* clearfix for floated images */
.post-body p{font-size:1.02rem;line-height:1.85;color:var(--text);margin-bottom:20px;}
.post-inline-img{width:100%;border-radius:10px;margin:8px 0 24px;}
.post-inline-img.float-left{width:44%;float:left;margin:6px 24px 16px 0;}
.post-inline-img.float-right{width:44%;float:right;margin:6px 0 16px 24px;}
@media (max-width:640px){
  .post-inline-img.float-left,.post-inline-img.float-right{float:none;width:100%;margin:8px 0 20px;}
}

/* ---------- academy coming soon ---------- */
.coming-soon{padding:120px 0;text-align:center;}
.coming-soon-badge{display:inline-block;background:var(--white);border:1px solid var(--border);color:var(--orange-deep);font-size:0.82rem;font-weight:500;padding:6px 16px;border-radius:20px;margin-bottom:24px;}
.coming-soon h1{margin-bottom:18px;}
.coming-soon p{color:var(--text-muted);font-size:1.05rem;max-width:56ch;margin:0 auto 32px;}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 70%,#5C2814 150%);text-align:center;}
.cta-band h2{color:var(--white);margin-bottom:16px;}
.cta-band p{color:rgba(244,246,248,0.7);max-width:52ch;margin:0 auto 28px;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(244,246,248,0.85);padding-top:64px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;}
.footer-mark{height:30px;filter:brightness(0) invert(1);margin-bottom:16px;}
.footer-brand p{font-size:0.9rem;line-height:1.7;color:rgba(244,246,248,0.65);max-width:34ch;}
.footer-heading{font-weight:500;color:var(--white);margin-bottom:14px;font-size:0.92rem;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:0.9rem;color:rgba(244,246,248,0.7);}
.footer-col a:hover{color:var(--orange);}
.footer-muted{font-size:0.9rem;color:rgba(244,246,248,0.45);}
.footer-bottom{border-top:1px solid rgba(244,246,248,0.12);padding:20px 24px;font-size:0.82rem;color:rgba(244,246,248,0.5);}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1;max-width:280px;margin:0 auto;}
  .order-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .code-grid{grid-template-columns:1fr;}
  .code-window-body{font-size:0.78rem;}
}
@media (max-width:720px){
  .main-nav{display:none;}
  .nav-toggle{display:flex;}
  .form-row-split{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  section{padding:64px 0;}
  .hero{padding:44px 0 44px;}
  .process-grid{grid-template-columns:1fr;}
}
