/* ── AuthenticDoc Design System ── */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Blues – light to dark */
  --c-blue-100:#425BC3;
  --c-blue-200:#3B52B0;
  --c-blue-300:#2E4089;
  --c-blue-400:#283775;
  --c-blue-500:#1A244E;
  --c-blue-600:#0D1227;

  /* Greens – light to dark */
  --c-green-100:#BCFF15;
  --c-green-200:#A9E613;
  --c-green-300:#96CC11;
  --c-green-400:#94B30F;
  --c-green-500:#4B6608;
  --c-green-600:#131A02;

  /* Semantic tokens */
  --c-primary:#3B52B0;
  --c-primary-light:#425BC3;
  --c-primary-dark:#2E4089;
  --c-primary-deeper:#283775;
  --c-bg:#FFFFFF;
  --c-surface:#FFFFFF;
  --c-text:#0D1227;
  --c-muted:#5B5B5B;
  --c-muted-light:#808080;
  --c-border:#D8D8D8;
  --c-border-light:#E5E5E5;
  --c-accent:#BCFF15;
  --c-accent-dark:#96CC11;
  --c-accent-mid:#A9E613;
  --c-info:#2ADEFF;

  /* Layout */
  --r:0.75rem;
  --r-lg:1rem;
  --r-xl:1.5rem;
  --max-w:72rem;
  --gap:24px;
  --header-h:5rem;
  --footer-peek:3.5rem;

  /* Typography */
  --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --text-h1:36px;
  --text-h2:30px;
  --text-h3:24px;
  --text-h4:20px;
  --text-subtitle-bold:18px;
  --text-body:15px;
  --text-body-link:15px;
  --text-subtitle:13px;
  --c-link:var(--c-blue-100);
  --c-h4-accent:var(--c-green-300);

  /* Shadows */
  --shadow-light:0 3px 6px rgba(0,0,0,0.16);
  --shadow-soft:0 6px 12px rgba(0,0,0,0.16);
  --shadow-dark:3px 12px 24px rgba(0,0,0,0.36);
}

/* ── Base ── */
html{height:100%;scroll-behavior:smooth}
body{font-family:var(--font);font-size:var(--text-body);font-weight:400;color:var(--c-text);background:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column;overflow:hidden}
h1{font-size:var(--text-h1);font-weight:700;line-height:1.2}
h2{font-size:var(--text-h2);font-weight:700;line-height:1.2}
h3{font-size:var(--text-h3);font-weight:700;line-height:1.2}
h4{font-size:var(--text-h4);font-weight:700;line-height:1.2;color:var(--c-h4-accent)}
a{color:var(--c-link);text-decoration:underline}
.content-wrap{flex:1;overflow-y:auto;position:relative}
.content-wrap:has(.article-page){overflow-y:hidden;height:100%}
#content{min-height:100%;display:flex;flex-direction:column}
#content:has(.article-page){min-height:0;height:100%}
#content>*{flex-shrink:0}
#content>.hero,#content>.cta-full{flex:1}
#content>.article-page{flex:1;min-height:0}
#content:has(>.site-footer)>.hero{flex:0 0 auto;min-height:calc(100vh - var(--header-h) - var(--footer-peek))}

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:var(--c-primary)}
.header-inner{max-width:none;margin:0;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 6rem}
.logo{text-decoration:none;display:flex;align-items:center}
.logo-img{height:2.5rem;width:auto;display:block}
nav{display:flex;align-items:center;gap:var(--gap)}
nav a{padding:0.5rem 0.75rem;border-radius:var(--r);color:rgba(255,255,255,0.8);text-decoration:none;font-size:var(--text-body);font-weight:400;transition:color .15s,background .15s}
nav a:hover{color:#fff;background:rgba(255,255,255,0.1)}
nav a.is-active,nav a.is-active:hover{color:var(--c-accent)}
.nav-cta{background:var(--c-accent)!important;color:var(--c-primary)!important;font-weight:700!important;padding:1rem 1.75rem 0.8rem!important;border-radius:999px!important;margin-left:1rem;font-size:var(--text-subtitle-bold)!important;line-height:1!important;text-decoration:none!important}
.nav-cta:hover{background:var(--c-accent-dark)!important}

/* ── Hero ── */
.hero{padding:8rem 10rem 6rem 10rem;background:var(--c-primary);color:#fff;position:relative;overflow:hidden;flex:1;display:flex;align-items:flex-start}
.hero-inner{max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center;width:100%}
.hero-text{position:relative;z-index:1}
.hero h1{font-family:var(--font);font-size:clamp(28px,5vw,56px);font-weight:700;line-height:1.2;margin-bottom:1.25rem;letter-spacing:-0.02em;white-space:nowrap}
.hero h1 .accent{color:var(--c-accent)}
.hero p{font-size:var(--text-subtitle-bold);color:rgba(255,255,255,0.85);max-width:32rem;margin-bottom:2rem;line-height:1.6}
.hero-actions{display:flex;gap:var(--gap);flex-wrap:wrap}
.hero .hero-actions,.cta-full-left .hero-actions{width:100%;max-width:36rem}
.hero .hero-actions .btn,.cta-full-left .hero-actions .btn{flex:1 1 0;min-width:0;padding:1.25rem 2rem 1.05rem;font-size:var(--text-subtitle-bold)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:1rem 1.75rem 0.8rem;border-radius:999px;font-family:var(--font);font-size:var(--text-subtitle-bold);font-weight:700;text-decoration:none;transition:all .15s;cursor:pointer;border:none;outline:none;line-height:1;box-shadow:inset 0 0 0 2px transparent}
.btn-accent{background:var(--c-accent);color:var(--c-primary)}
.btn-accent:hover{background:var(--c-accent-dark);transform:translateY(-1px)}
.btn-outline-white{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.btn-outline-white:hover{background:rgba(255,255,255,0.1);transform:translateY(-1px)}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-dark);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--c-primary);box-shadow:inset 0 0 0 2px var(--c-primary)}
.btn-outline:hover{background:transparent;color:var(--c-primary-dark);box-shadow:inset 0 0 0 2px var(--c-primary-dark);transform:translateY(-1px)}

/* ── Hero Doc Mockup ── */
.hero-mockup{position:relative;z-index:1;display:flex;justify-content:center}
/* ── Hero Animation ── */
.hero-anim{position:relative;display:inline-block;width:420px;max-width:100%}
.hero-anim-doc{display:block;width:100%;height:auto;animation:doc-slide-in 0.8s ease-out both}
.hero-anim-overlay{position:absolute;width:64%;height:auto;z-index:2;filter:drop-shadow(0 14px 28px rgba(0,0,0,0.2))}
.hero-anim-tr{top:-4%;right:-22%;animation:slide-from-right 0.6s ease-out 0.5s both}
.hero-anim-bl{bottom:-4%;left:-22%;animation:slide-from-bottom 0.6s ease-out 0.7s both}
.hero-anim-qr{position:absolute;bottom:4%;right:4%;width:22%;height:auto;z-index:3;transform-origin:center;animation:stamp-in 0.45s cubic-bezier(0.34,1.56,0.64,1) 1.4s both}

@keyframes doc-slide-in{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}
@keyframes slide-from-right{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}
@keyframes slide-from-bottom{from{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}
@keyframes stamp-in{0%{opacity:0;transform:scale(2.4)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}

/* ── Sections ── */
.section{padding:3.5rem 10rem 2rem 10rem;max-width:none;width:100%;margin:0}
.section-dark{padding:2.5rem 1rem 2rem;background:var(--c-primary);color:#fff}
.section-label{font-family:var(--font);font-size:var(--text-subtitle);font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:0.15em;color:var(--c-text);margin-bottom:0.25rem}
.section-dark .section-label{color:var(--c-accent)}
.section-title{font-family:var(--font);font-size:var(--text-h2);font-weight:700;margin-bottom:0.35rem;letter-spacing:-0.01em;white-space:nowrap;line-height:1.2}
.section-title .blue{color:var(--c-primary)}
.section-title .lime{color:var(--c-accent-dark)}
.section-desc{font-size:var(--text-body);color:var(--c-muted);max-width:32rem;margin-bottom:1.5rem;line-height:1.6}
.section-body{margin-top:0}
.section-dark .section-desc{color:rgba(255,255,255,0.75)}
.section-center{text-align:center}
.section-center .section-desc{margin-left:auto;margin-right:auto}

/* ── Grid ── */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}

/* ── Cards ── */
.card{background:var(--c-surface);border:1px solid var(--c-primary);border-radius:var(--r);padding:1.75rem;transition:box-shadow .15s}
.card:hover{box-shadow:var(--shadow-light)}
.card-header{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem}
.card-icon{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--c-primary)}
.card h3{font-family:var(--font);font-size:var(--text-h3);font-weight:700;line-height:1.2;color:var(--c-primary);white-space:nowrap}
.card p{font-size:var(--text-body);color:var(--c-muted);line-height:1.6}

/* ── Info Cards (creator/signers from design) ── */
.info-card{background:var(--c-surface);border-radius:var(--r-xl);padding:1.5rem;box-shadow:var(--shadow-soft)}
.info-card-title{font-family:var(--font);font-size:var(--text-subtitle-bold);font-weight:700;line-height:1.2;color:var(--c-primary);margin-bottom:1rem}
.info-card-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem}
.info-card-row:last-child{margin-bottom:0}
.info-card-avatar{width:2.75rem;height:2.75rem;border-radius:var(--r);background:var(--c-blue-600);color:var(--c-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-subtitle-bold);flex-shrink:0}
.info-card-name{font-weight:700;font-size:var(--text-body);color:var(--c-text)}
.info-card-verified{width:1rem;height:1rem;color:var(--c-accent-dark)}
.info-card-meta{font-size:var(--text-subtitle);line-height:1.4;color:var(--c-muted)}
.info-card-meta span{font-weight:700;color:var(--c-text)}

/* ── Scroll-section (shared between how-it-works, features) ── */
.scroll-section .scroll-head .section-desc{margin-bottom:0}
.scroll-section .scroll-head{padding-bottom:2rem}
.scroll-body:has(>.grid),.scroll-body:has(>.pricing-grid),.scroll-body:has(>.blog-grid){scroll-snap-type:y mandatory}
.scroll-body>.grid>.card,.scroll-body>.pricing-grid>.price-card,.scroll-body>.blog-grid>.blog-card{scroll-snap-align:start;scroll-margin-top:0.5rem}

/* ── Steps / Timeline ── */
.step{position:relative;padding-left:3rem;align-self:start}
.step-num{position:absolute;left:0;width:2rem;height:2rem;background:var(--c-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-subtitle);font-weight:700;line-height:1.4}
.step h3{font-size:var(--text-h3);font-weight:700;line-height:1.2;margin-bottom:0.35rem;color:var(--c-primary)}
.step p{font-size:var(--text-body);color:var(--c-muted);line-height:1.6;max-width:38ch}

/* ── How-it-works pairs (mobile-first) ── */
.hiw-pairs{display:flex;flex-direction:column;gap:max(var(--gap),1.5rem);position:relative}
.hiw-pair{display:flex;flex-direction:column;gap:0.75rem}
.hiw-cta{margin-top:3rem}
.hiw-cta-buttons{display:flex;flex-direction:column;gap:0.75rem}
.hiw-cta-buttons .btn{width:100%}
@media(min-width:48rem){
  .hiw-pairs::before{content:'';position:absolute;left:1rem;top:0.5rem;bottom:0.5rem;width:2px;background:var(--c-border)}
  .hiw-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap);align-items:start}
  .hiw-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap)}
  .hiw-cta-buttons{flex-direction:row;gap:var(--gap)}
  .hiw-cta-buttons .btn{flex:1;width:auto}
}

/* ── Pricing ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);align-items:start}
.price-card{background:var(--c-surface);border:1px solid var(--c-primary);border-radius:var(--r);padding:2rem;text-align:left;position:relative;transition:box-shadow .15s}
.price-card:hover{box-shadow:var(--shadow-light)}
.price-card.recommended{box-shadow:var(--shadow-soft)}
.price-badge{position:absolute;top:-0.75rem;right:1.5rem;background:var(--c-accent);color:var(--c-primary);font-size:var(--text-subtitle);font-weight:700;line-height:1.4;padding:0.25rem 0.75rem;border-radius:999px;text-transform:uppercase;letter-spacing:0.05em}
.price-name{font-family:var(--font);font-size:var(--text-subtitle-bold);font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:0.1em;color:var(--c-text);margin-bottom:0}
.price-amount{font-family:var(--font);font-size:var(--text-h2);font-weight:700;color:var(--c-primary);margin-bottom:0;line-height:1.2}
.price-period{font-size:var(--text-subtitle);line-height:1.4;color:var(--c-muted);margin-bottom:0.25rem}
.price-features{list-style:none;text-align:left;margin-bottom:1.5rem;font-size:var(--text-body);color:var(--c-muted)}
.price-features li{padding:0.5rem 0;border-bottom:1px solid var(--c-border-light);display:flex;align-items:center;gap:0.5rem}
.price-features li::before{content:'✓';color:var(--c-accent-dark);font-weight:700}
.price-note{font-size:var(--text-body);color:#F7931A;font-weight:700;margin-top:0.25rem;margin-bottom:1rem}

/* ── Blog Grid + Cards ── */
.blog-grid{display:grid;grid-template-columns:1fr;gap:var(--gap)}
@media(min-width:48rem){
  .blog-grid{grid-template-columns:repeat(4,1fr)}
}
.blog-card{background:#FFFFFF;border:1px solid var(--c-border-light);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-dark);transition:box-shadow .15s,transform .15s}
.blog-card:hover{box-shadow:var(--shadow-dark);transform:translateY(-2px)}
.blog-card-image{height:48px;background:linear-gradient(135deg,var(--c-primary),var(--c-blue-100));flex-shrink:0}
.blog-card-body{padding:20px;flex:1;display:flex;flex-direction:column}
.blog-card-footer{padding:14px 20px;border-top:1px solid var(--c-border-light);display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.blog-card .blog-tag{font-family:var(--font);font-size:var(--text-subtitle);font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:0.1em;color:var(--c-accent-dark);margin-bottom:0.25rem}
.blog-card h3{font-family:var(--font);font-size:var(--text-h3);font-weight:700;color:var(--c-primary);margin-bottom:0.4rem;line-height:1.2}
.blog-card p{font-size:var(--text-body);color:var(--c-muted);line-height:1.6}
.blog-date{font-size:var(--text-subtitle);line-height:1.4;color:var(--c-muted-light);margin:0}
.blog-btn{margin:0;flex-shrink:0}

/* ── Article Detail ── */
.article-page{display:flex;flex-direction:column;height:100%;overflow:hidden}
.article-header{padding:2.5rem 1rem 1.5rem;text-align:center;flex-shrink:0}
.article-header h1{font-family:var(--font);font-size:var(--text-h1);font-weight:700;line-height:1.2;margin:0.5rem 0 0.5rem;color:var(--c-primary)}
.article-header .article-date{margin:0.5rem 0 0;font-size:var(--text-small,0.875rem);color:var(--c-muted)}
.article-body{flex:1;overflow-y:auto;min-height:0}
.article-detail{max-width:48rem;margin:0 auto;padding:1.5rem 1rem 3rem;text-align:left}
.article-detail h3{font-size:var(--text-h3);font-weight:700;line-height:1.2;margin:2rem 0 0.75rem}
.article-detail p{font-size:var(--text-body);color:var(--c-muted);line-height:1.6;margin-bottom:1.25rem}

/* ── CTA Full ── */
.cta-full{padding:5rem 1rem;background:var(--c-primary);color:#fff;text-align:center;display:flex;align-items:center;justify-content:center}
.cta-full-inner{max-width:48rem;margin:0 auto}
.cta-full h1{font-family:var(--font);font-size:var(--text-h1);font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin-bottom:1.25rem}
.cta-full h1 .accent{color:var(--c-accent)}
.cta-full-left{text-align:left;padding:0 1rem}
.cta-full-left .cta-full-inner{max-width:56rem;margin:0}
.cta-full-left p{margin-left:0;margin-right:0;max-width:36rem}
.cta-full-left .hero-actions{justify-content:flex-start}
.cta-full h2{font-size:var(--text-h2);font-weight:700;line-height:1.2;margin-bottom:1rem}
.cta-full p{font-size:var(--text-body);color:rgba(255,255,255,0.75);margin-bottom:2rem;line-height:1.6}
.cta-full .hero-actions{justify-content:center}

/* ── Footer ── */
.site-footer{background:var(--c-primary-dark);color:#fff;padding:2.5rem 6rem;font-size:var(--text-subtitle);line-height:1.5}
.site-footer a{color:#fff;text-decoration:none}
.footer-inner{max-width:none;margin:0;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--gap);flex-wrap:wrap}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0.75rem;max-width:22rem}
.footer-logo{height:2rem;width:auto;display:block;flex-shrink:0}
.footer-desc{color:rgba(255,255,255,0.7);font-size:var(--text-subtitle);line-height:1.5}
.footer-meta{display:flex;align-items:center;gap:1.25rem}
.footer-meta>*+*{padding-left:1.25rem;border-left:1px solid rgba(255,255,255,0.2)}
.footer-legal{display:flex;gap:1.25rem;font-size:var(--text-subtitle);color:#fff}
.footer-legal a:hover{color:var(--c-accent)}
.footer-copy{color:rgba(255,255,255,0.65);font-size:var(--text-subtitle);white-space:nowrap}
.footer-social{display:flex;gap:0.6rem}
.footer-social-icon{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,0.1);color:#fff;transition:background .15s,transform .15s}
.footer-social-icon:hover{background:rgba(255,255,255,0.18);transform:translateY(-1px)}
.footer-social-icon svg{width:1rem;height:1rem}


/* ── Skeleton Placeholders ── */
@keyframes shimmer{to{background-position:-200% 0}}
.skel{background:linear-gradient(90deg,var(--c-border) 25%,#d5d8dc 50%,var(--c-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r)}
.skel-heading{height:2.5rem;max-width:32rem;margin:0 auto 1rem}
.skel-text{height:1rem;margin-bottom:0.75rem}
.skel-badge{height:1.5rem;width:10rem;border-radius:999px;margin-bottom:1.5rem}
.skel-btn{height:2.75rem;width:8rem;border-radius:var(--r)}
.skel-icon{width:3rem;height:3rem;border-radius:var(--r);margin-bottom:1rem}
.skel-line{height:1rem;width:60%;margin-bottom:0.5rem}

/* ── Contact Form Page ── */
.contact-form-page{position:relative;background:#fff}
.contact-form-hero{background:var(--c-primary);color:#fff;height:420px;display:flex;align-items:center;justify-content:space-evenly;gap:var(--gap);padding:0 6rem;position:relative;overflow:visible}
.contact-form-text{position:relative;z-index:1;flex:0 1 32rem;min-width:0}
.contact-form-text .section-label{color:#fff;font-size:var(--text-subtitle);line-height:1.4;letter-spacing:0.08em;margin-bottom:12px}
.contact-form-text h1{font-family:var(--font);font-size:var(--text-h1);font-weight:700;line-height:1.2;letter-spacing:0;color:#fff}
.contact-form-text h1 .accent{color:var(--c-accent)}

.contact-form-card{flex:0 0 420px;align-self:flex-start;margin-top:120px;width:420px;background:#fff;border-radius:16px;padding:32px;box-shadow:var(--shadow-dark);color:var(--c-text);position:relative;z-index:5}
.contact-form{display:flex;flex-direction:column}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-bottom:12px}
.contact-form-input,.contact-form-textarea{font-family:var(--font);font-size:var(--text-body);line-height:1.5;color:var(--c-text);background:#fff;border:1px solid var(--c-border-light);border-radius:8px;padding:12px 16px;width:100%;margin-bottom:12px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.contact-form-row .contact-form-input{margin-bottom:0}
.contact-form-textarea{height:120px;min-height:120px;resize:vertical;line-height:1.5}
.contact-form-input::placeholder,.contact-form-textarea::placeholder{color:var(--c-muted-light)}
.contact-form-input:focus,.contact-form-textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(59,82,176,0.12)}
.contact-form-submit{width:100%;height:48px;padding:0;font-size:var(--text-subtitle-bold);font-weight:700;margin-top:8px;align-self:auto;min-width:0;box-shadow:none}

.contact-social-section{background:#fff;height:200px;display:flex;align-items:flex-start;justify-content:space-evenly;gap:var(--gap);padding:2.5rem 6rem 0}
.contact-social-content{flex:0 1 32rem;min-width:0}
.contact-social-spacer{flex:0 0 420px;width:420px}
.contact-social-label{color:var(--c-primary);font-size:var(--text-subtitle);line-height:1.4;letter-spacing:0.08em;margin-bottom:16px}
.contact-social-row{display:flex;gap:var(--gap);flex-wrap:wrap}
.contact-social-icon{width:52px;height:52px;border-radius:10px;background:var(--c-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .15s,transform .15s}
.contact-social-icon:hover{background:var(--c-primary-dark);transform:translateY(-2px)}
.contact-social-icon svg{width:22px;height:22px}

/* ── Hamburger Toggle ── */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;transition:transform .2s,opacity .2s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Responsive ── */
@media(max-width:80rem){
  :root{--gap:20px}
  .section,.hero{padding-left:4rem;padding-right:4rem}
  .header-inner{padding-left:3rem;padding-right:3rem}
  .contact-form-hero{padding-left:3rem;padding-right:3rem}
  .contact-social-section{padding-left:3rem;padding-right:3rem}
}
@media(max-width:64rem){
  :root{--gap:16px}
  .section,.hero{padding-left:2rem;padding-right:2rem}
  .header-inner{padding-left:2rem;padding-right:2rem}
  .grid{grid-template-columns:repeat(2,1fr)}
  .contact-form-hero{padding-left:2rem;padding-right:2rem}
  .contact-social-section{padding-left:2rem;padding-right:2rem}
}
@media(max-width:48rem){
  :root{--gap:10px}
  .nav-toggle{display:flex}
  .header-inner{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:0.75rem 1rem;position:relative}
  nav{display:none;position:absolute;top:100%;right:1rem;flex-direction:row;flex-wrap:wrap;width:min(16rem,calc(100vw - 2rem));background:rgba(59,82,176,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;box-shadow:0 8px 24px rgba(0,0,0,0.25);border-radius:0 0 var(--r) var(--r);padding:0.5rem}
  nav.nav-open{display:flex}
  nav a{padding:0.5rem 0.75rem;text-align:left;font-size:var(--text-body);width:50%;border:none}
  .nav-cta{display:none}
  .hero{padding:1.5rem 1rem 5rem;align-items:flex-end}
  .hero p{margin-bottom:1rem}
  .hero-inner{grid-template-columns:1fr;direction:ltr}
  .hero-mockup{display:flex;justify-content:center;order:-1;margin-bottom:1rem}
  .hero-anim{width:260px}
  .hero-anim-overlay{width:72%}
  .hero-anim-tr{right:-14%}
  .hero-anim-bl{left:-14%}
  .hero-text{display:flex;flex-direction:column}
  .hero-actions{margin-top:1rem}
  .hero .hero-actions,.cta-full-left .hero-actions{flex-direction:column;max-width:none}
  .hero .hero-actions .btn,.cta-full-left .hero-actions .btn{flex:0 0 auto;width:100%}
  .cta-full-left{align-items:flex-start;padding:2rem 1rem 3rem}
  .section-title{white-space:normal}
  .card h3{white-space:normal}
  .section{padding-top:2rem}
  .section,.section-dark,.cta-full{padding-left:1rem;padding-right:1rem}
  .site-footer{padding:2rem 1rem}
  .grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start;text-align:left;gap:1.25rem}
  .footer-meta{flex-wrap:wrap;align-items:center;gap:0.75rem 1rem}
  .footer-meta>*+*{padding-left:1rem}
  #content:has(>.scroll-section){height:100%;min-height:0}
  #content>.scroll-section{flex:1;min-height:0;overflow:hidden}
  .scroll-section{display:flex;flex-direction:column;min-height:0;padding-bottom:0}
  .scroll-section .scroll-head{flex:0 0 auto;padding-bottom:1rem;background:var(--c-bg)}
  .scroll-section .scroll-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:2rem}
  .contact-form-hero{height:auto;flex-direction:column;align-items:stretch;padding:2.5rem 1rem 3rem}
  .contact-form-text{flex:0 0 auto;max-width:none}
  .contact-form-text h1{white-space:normal}
  .contact-form-card{flex:0 0 auto;align-self:stretch;width:auto;margin-top:1.5rem;padding:1.5rem}
  .contact-form-row{grid-template-columns:1fr}
  .contact-social-section{height:auto;flex-direction:column;align-items:stretch;padding:2rem 1rem}
  .contact-social-content{flex:0 0 auto}
  .contact-social-spacer{display:none}
}
