
:root{--bg:#f6f7f8;--paper:#fff;--ink:#111827;--muted:#667085;--line:#e5e7eb;--blue:#2458e6;--bluebg:#edf2ff;--orange:#a85d12;--green:#147a55;--max:1160px;--r:18px;--font:Inter,system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
header{height:68px;position:sticky;top:0;z-index:30;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.head{height:100%;display:flex;align-items:center;gap:28px}.brand{font-weight:850;letter-spacing:-.05em;font-size:19px;display:flex;align-items:center;gap:9px;white-space:nowrap}.mark{background:var(--ink);color:white;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:12px var(--mono)}nav{display:flex;gap:24px;margin-left:auto}nav a,.head-actions a{font-size:13px;font-weight:650;color:#475467}nav a:hover,.head-actions a:hover{color:var(--blue)}.head-actions{display:flex;align-items:center;gap:14px}.head button,.menu{border:0;background:transparent;border-radius:9px;width:40px;height:40px;cursor:pointer}.head button:hover,.menu:hover{background:#f0f2f5}.menu{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 17px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:750;transition:.18s}.btn:hover{transform:translateY(-1px)}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.secondary{background:#fff}.quiet{border-color:transparent;color:var(--blue)}
.eyebrow{font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.hero{padding:74px 0 62px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.hero h1{font-size:clamp(52px,6.5vw,82px);line-height:.98;letter-spacing:-.075em;margin:18px 0 22px}.hero h1 span{color:var(--blue)}.lead{font-size:18px;color:#475467;max-width:530px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.micro{font:10px var(--mono);color:#98a2b3;margin-top:20px}
.visual{min-height:390px;padding:18px;border:1px solid #dce2ea;border-radius:24px;background:linear-gradient(145deg,#fff,#edf1f8);box-shadow:0 14px 40px #1018280c}.visual-head{display:flex;justify-content:space-between;color:var(--muted);font:10px var(--mono)}.screen{margin-top:30px;background:#111c2c;color:#dce7f8;border-radius:15px;padding:22px;min-height:290px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:26px 26px}.screen>*{position:relative}.screen-top,.screen-foot{display:flex;justify-content:space-between;font:10px var(--mono);color:#9db0ce}.screen-tag{border:1px solid #ffffff30;border-radius:5px;padding:5px 8px}.flow{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center;gap:6px}.node{border:1px solid #7895c155;background:#263a57aa;border-radius:9px;padding:15px 5px;text-align:center}.node b{display:block;font:11px var(--mono);color:white}.node small{font-size:9px;color:#a9bddb}.arrow{text-align:center;color:#8fb0ff}
.section{padding:54px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.section h2{font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.055em;margin:8px 0 0}.section-head p{max-width:470px;color:var(--muted);font-size:13px;margin:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}.now{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;padding:28px;align-items:center}.meta{display:flex;gap:9px;align-items:center;font:10px var(--mono);color:var(--muted)}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#f1f3f6;color:#475467;font:10px var(--mono)}.pill.blue{background:var(--bluebg);color:var(--blue)}.pill.orange{background:#fff4e5;color:var(--orange)}.now h3{font-size:29px;letter-spacing:-.05em;margin:13px 0 8px}.now p,.proof p,.info p{font-size:13px;color:var(--muted)}.steps{padding:18px;background:#f8f9fb;border:1px solid #edf0f4;border-radius:13px}.step{font-size:12px;color:#475467;padding:6px 0}.step i{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid #cbd5e1;border-radius:50%;font-style:normal;font-size:10px;margin-right:9px}
.proof{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.proof h3{font-size:21px;margin:5px 0}.proof p{margin:0}.proof-state{font:10px var(--mono);color:var(--orange);background:#fff6e9;border:1px solid #f5e1c4;border-radius:8px;padding:9px 11px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{overflow:hidden;transition:.18s}.card:hover{transform:translateY(-3px);border-color:#c7d2e5;box-shadow:0 14px 36px #1018280d}.thumb{height:178px;background:#eaf0f7;padding:17px;position:relative}.thumb-label{position:absolute;top:12px;left:12px;background:#fffffff0;border:1px solid var(--line);border-radius:5px;padding:4px 7px;font:9px var(--mono);color:var(--muted)}.mock{height:100%;border-radius:10px;background:#152237;padding:15px}.bar{height:6px;width:45%;background:#526a8d;border-radius:5px;margin-bottom:15px}.line{height:5px;background:#354a67;border-radius:5px;margin:9px 0;width:85%}.line:nth-child(3){width:68%}.line:nth-child(4){width:55%}.nodes{display:flex;gap:7px;margin-top:17px}.nodes i{height:25px;flex:1;border:1px solid #50698e;border-radius:5px}.card-body{padding:17px}.card-id{font:10px var(--mono);color:var(--muted)}.card h3{font-size:20px;letter-spacing:-.04em;margin:7px 0}.card p{font-size:12px;color:var(--muted);min-height:42px}.card-foot{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:#7b8493}.link{color:var(--blue);font:700 12px var(--font)}.empty{padding:25px;border:1px dashed #cbd5e1;border-radius:15px;color:var(--muted);font-size:13px;background:#ffffff90}
.two{display:grid;grid-template-columns:1fr 1fr;gap:17px}.info{padding:23px}.info h3{font-size:20px;margin:8px 0}.cta{background:#111827;color:white;border-radius:21px;padding:31px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta h2{font-size:30px;margin:0 0 5px}.cta p{color:#aeb9c9;margin:0;font-size:13px}.cta .btn{background:#fff;color:#111827}
.page-hero{padding:66px 0 30px}.page-hero h1{font-size:clamp(42px,6vw,64px);line-height:1;letter-spacing:-.07em;margin:12px 0}.page-hero p{max-width:720px;color:var(--muted);font-size:16px}
.detail-head{padding:50px 0 22px}.detail-head h1{font-size:clamp(42px,6vw,62px);line-height:1;letter-spacing:-.07em;margin:13px 0}.summary{max-width:760px;color:var(--muted);font-size:16px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.detail-section{padding:25px;margin-bottom:15px;scroll-margin-top:90px}.detail-section h2{font-size:23px;letter-spacing:-.04em;margin:0 0 12px}.detail-section p{font-size:13px;color:var(--muted)}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick div{background:#f8f9fb;border-radius:10px;padding:13px}.quick b{display:block;font:10px var(--mono);color:var(--blue);margin-bottom:5px}.quick span{font-size:12px;color:#475467}.side{position:sticky;top:90px;padding:15px}.side a{display:block;padding:7px 0;font-size:12px;color:var(--muted)}.side a:hover{color:var(--blue)}
.arch{background:#111827;color:white;border-radius:12px;padding:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.arch span{font:10px var(--mono);padding:9px 11px;border:1px solid #52627b;border-radius:7px;background:#1d2a3e}.arch b{color:#8fb0ff}
.video{padding:17px;background:#f8f9fb;border:1px solid var(--line);border-radius:13px}.poster{aspect-ratio:16/9;border-radius:10px;background:linear-gradient(135deg,#172438,#34527b);display:grid;place-items:center;color:white;position:relative;overflow:hidden}.poster:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:28px 28px}.play{position:relative;background:white;color:#111827;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;padding-left:3px}.poster-label{position:absolute;bottom:13px;left:15px;font:10px var(--mono)}.video-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.video-note{font-size:11px;color:var(--muted);margin-top:10px}
footer{margin-top:65px;border-top:1px solid var(--line);padding:27px 0 40px;color:var(--muted);font-size:12px}.foot{display:flex;justify-content:space-between;gap:18px}.foot-links{display:flex;gap:16px;flex-wrap:wrap}.search-overlay{position:fixed;inset:0;background:#0f172a77;z-index:80;display:none;justify-content:center;align-items:flex-start;padding:14vh 18px}.search-overlay.open{display:flex}.search-box{width:min(590px,100%);background:white;border-radius:16px;padding:17px;box-shadow:0 24px 70px #0003}.search-box input{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px}.search-results a{display:block;padding:10px;border-radius:8px;font-size:13px}.search-results a:hover{background:#f3f5f8}.search-results small{display:block;color:var(--muted);font:10px var(--mono)}.toast{display:none;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:90;background:#111827;color:white;padding:10px 15px;border-radius:999px;font-size:12px}.toast.show{display:block}.mobile-menu{display:none}
:focus-visible{outline:3px solid #8ba8ff;outline-offset:3px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.side{position:static;display:flex;gap:13px;overflow:auto;white-space:nowrap;order:-1}}
@media(max-width:740px){.wrap{width:calc(100% - 36px)}header{height:62px}.head{gap:10px}nav{display:none}.head-actions{margin-left:auto;gap:5px}.head-actions .github{display:none}.menu{display:block}.hero{padding:46px 0 35px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:clamp(48px,13vw,64px)}.lead{font-size:16px}.visual{min-height:315px;padding:13px}.screen{min-height:245px;padding:16px}.node{padding:11px 3px}.node b{font-size:9px}.node small{font-size:8px}.section{padding:38px 0}.section-head{display:block}.section-head p{margin-top:9px}.now{grid-template-columns:1fr;padding:19px;gap:16px}.now h3{font-size:25px}.proof{display:block;padding:19px}.proof-state{display:inline-block;margin-top:13px}.cards,.two{grid-template-columns:1fr}.card p{min-height:0}.cta{display:block;padding:25px}.cta h2{font-size:26px}.cta .btn{margin-top:17px}.page-hero{padding:47px 0 22px}.detail-head{padding:40px 0 18px}.detail-section{padding:19px}.quick{grid-template-columns:1fr}.arch{flex-direction:column;align-items:stretch;text-align:center}.arch b{transform:rotate(90deg)}.foot{display:block}.foot-links{margin-top:14px}.mobile-menu{position:fixed;inset:62px 0 0;background:#fffffff7;z-index:29;padding:20px 24px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:700}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Layout refinement v0.2.0 */
:root{--bg:#f3f5f7;--paper:#fff;--ink:#101828;--muted:#5f6c80;--line:#dde3ea;--blue:#2458e6;--blue-strong:#173fc4;--bluebg:#edf2ff;--orange:#b75d0b;--max:1200px;--r:20px}
html{background:var(--bg)}
body{min-width:320px;overflow-x:hidden;background:
radial-gradient(circle at 8% 8%,#e8efff 0,transparent 24rem),
radial-gradient(circle at 92% 26%,#fff1df 0,transparent 22rem),
var(--bg)}
body.menu-open{overflow:hidden}
.wrap{width:min(var(--max),calc(100% - 64px))}
header{height:72px;background:#ffffffeb;box-shadow:0 1px 0 #ffffff80;backdrop-filter:blur(18px) saturate(145%)}
.head{gap:30px}
.brand{font-size:20px;letter-spacing:-.045em}
.mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#111827,#27364d);box-shadow:inset 0 1px #ffffff24,0 7px 18px #10182822}
nav{gap:clamp(16px,1.9vw,28px)}
nav a,.head-actions a{position:relative;color:#3e4a5e}
nav a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
.head button,.menu{color:var(--ink)}
.btn{min-height:46px;padding:12px 19px;border-color:#d5dce5;box-shadow:0 1px 1px #1018280a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px #10182814;border-color:#bdc7d5}
.primary{background:linear-gradient(135deg,var(--blue),var(--blue-strong));box-shadow:0 10px 24px #2458e628}
.primary:hover{border-color:var(--blue-strong);box-shadow:0 14px 30px #2458e638}
.eyebrow{font-size:11px;letter-spacing:.16em}
.hero{padding:88px 0 72px}
.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);gap:clamp(48px,6vw,82px)}
.hero h1{max-width:660px;font-size:clamp(58px,6.25vw,86px);line-height:.94;margin:20px 0 26px;text-wrap:balance}
.lead{max-width:570px;font-size:19px;line-height:1.7}
.actions{margin-top:30px}
.micro{margin-top:24px;letter-spacing:.08em}
.visual{min-height:430px;padding:20px;border-color:#d4dce7;border-radius:28px;background:linear-gradient(145deg,#fff 0,#f5f7fb 42%,#e6edf8 100%);box-shadow:0 28px 80px #10182818,0 2px 8px #1018280a;transform:perspective(1200px) rotateY(-1.5deg)}
.screen{min-height:326px;margin-top:34px;border:1px solid #ffffff14;border-radius:18px;background:linear-gradient(145deg,#0d1726,#162841);box-shadow:inset 0 1px #ffffff10,0 18px 38px #0c172538}
.node{padding:18px 7px;border-color:#8aa6d066;background:#263f63cc;box-shadow:inset 0 1px #ffffff12}
.section{padding:64px 0}
.section-head{align-items:flex-end;margin-bottom:26px}
.section h2{max-width:720px;font-size:clamp(30px,3.2vw,42px);text-wrap:balance}
.section-head p{max-width:500px;font-size:14px;line-height:1.75}
.panel{border-color:#dfe5ec;box-shadow:0 8px 30px #10182808}
.now{gap:34px;padding:34px}
.now h3{font-size:32px}
.now p,.proof p,.info p{font-size:14px;line-height:1.75}
.steps{padding:21px;border-color:#e7ebf0;background:linear-gradient(180deg,#fafbfd,#f5f7fa)}
.step{padding:8px 0;font-size:13px}
.proof{padding:27px 30px}
.cards{gap:22px}
.card{display:flex;min-height:100%;flex-direction:column}
.card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.card p{font-size:13px;line-height:1.65}
.card-foot{margin-top:auto;padding-top:10px}
.thumb{height:190px;background:linear-gradient(145deg,#e9eff7,#dfe8f3)}
.empty{min-height:100%;padding:30px;border-color:#c5cfdb;background:#ffffffb8;line-height:1.75}
.two{gap:22px}
.info{padding:28px}
.info h3{font-size:22px}
.cta{padding:38px;border-radius:24px;background:linear-gradient(135deg,#101828,#172b49);box-shadow:0 22px 58px #10182822}
.page-hero{padding:78px 0 38px}
.page-hero h1,.detail-head h1{text-wrap:balance}
.page-hero p,.summary{line-height:1.75}
.detail-head{padding:64px 0 28px}
.detail-grid{grid-template-columns:minmax(0,1fr) 250px;gap:26px}
.detail-section{padding:30px;margin-bottom:18px}
.detail-section p{font-size:14px;line-height:1.8}
.side{top:100px;padding:18px}
.side a{padding:9px 10px;border-radius:8px;font-size:13px}
.side a:hover{background:var(--bluebg)}
.quick{gap:12px}
.quick div{padding:15px}
.arch{gap:10px;padding:22px}
.video{padding:20px}
footer{margin-top:78px;padding:34px 0 46px;background:#ffffff72}
.search-overlay{align-items:center;padding:24px;backdrop-filter:blur(7px)}
.search-box{border:1px solid #ffffff70;box-shadow:0 28px 90px #10182836}
.mobile-menu{overscroll-behavior:contain}

@media(max-width:1080px){
  .wrap{width:min(var(--max),calc(100% - 48px))}
  .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:42px}
  .hero h1{font-size:clamp(54px,7vw,72px)}
  .visual{min-height:380px}
  .screen{min-height:284px}
}

@media(max-width:900px){
  header{height:66px}
  nav{display:none}
  .head-actions{margin-left:auto}
  .menu{display:block}
  .hero{padding:64px 0 48px}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-grid>div:first-child{max-width:680px}
  .visual{min-height:360px;transform:none}
  .screen{min-height:270px}
  .mobile-menu{display:block;position:fixed;inset:66px 0 0;z-index:29;padding:22px max(24px,calc((100vw - var(--max))/2 + 32px));visibility:hidden;opacity:0;transform:translateY(-12px);background:#fffffff7;backdrop-filter:blur(18px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}
  .mobile-menu.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
  .mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:20px;font-weight:750}
  .detail-grid{grid-template-columns:1fr}
  .side{position:static;display:flex;gap:6px;overflow:auto;white-space:nowrap;order:-1;scrollbar-width:thin}
  .side a{flex:none}
}

@media(max-width:740px){
  .wrap{width:calc(100% - 32px)}
  .head{gap:8px}
  .brand{font-size:18px}
  .mark{width:30px;height:30px}
  .head-actions{gap:2px}
  .head-actions .github{display:none}
  .hero{padding:48px 0 38px}
  .hero h1{font-size:clamp(46px,14vw,62px);line-height:.96;letter-spacing:-.065em}
  .lead{font-size:16px;line-height:1.65}
  .actions{display:grid;grid-template-columns:1fr;margin-top:24px}
  .actions .btn{width:100%}
  .micro{line-height:1.55}
  .visual{min-height:300px;padding:12px;border-radius:20px}
  .visual-head{gap:10px;font-size:8px}
  .screen{min-height:228px;margin-top:18px;padding:14px;border-radius:14px}
  .screen-top,.screen-foot{gap:8px;font-size:8px}
  .flow{grid-template-columns:1fr 14px 1fr 14px 1fr;gap:3px}
  .node{padding:12px 2px}
  .node b{font-size:9px}
  .node small{font-size:8px}
  .section{padding:44px 0}
  .section-head{display:block;margin-bottom:20px}
  .section-head p{margin-top:12px}
  .section h2{font-size:clamp(29px,9vw,38px)}
  .now{grid-template-columns:1fr;padding:21px;gap:18px}
  .proof{display:block;padding:21px}
  .proof-state{display:inline-block;margin-top:14px}
  .cards,.two{grid-template-columns:1fr}
  .thumb{height:180px}
  .empty{padding:24px}
  .info{padding:22px}
  .cta{display:block;padding:26px 22px}
  .cta h2{font-size:28px}
  .cta .btn{width:100%;margin-top:18px}
  .page-hero{padding:52px 0 24px}
  .page-hero h1,.detail-head h1{font-size:clamp(39px,12vw,54px)}
  .detail-head{padding:44px 0 20px}
  .detail-section{padding:21px}
  .quick{grid-template-columns:1fr}
  .arch{flex-direction:column;align-items:stretch;text-align:center}
  .arch b{transform:rotate(90deg)}
  .video{padding:14px}
  .foot{display:block}
  .foot-links{margin-top:16px;gap:12px}
  footer{margin-top:54px}
  .mobile-menu{inset:66px 0 0;padding:18px 24px}
}

@media(max-width:380px){
  .wrap{width:calc(100% - 24px)}
  .brand{font-size:16px}
  .head-actions>a[data-lang]{font-size:12px}
  .hero h1{font-size:43px}
  .visual{padding:10px}
  .screen{padding:12px}
  .screen-tag{padding:4px 5px}
  .detail-section{padding:18px}
}

/* Brand and direct contact */
.brand-logo{display:block;width:32px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 8px #10182824)}
.footer-brand{display:flex;align-items:center;gap:12px;min-width:230px}
.footer-logo{display:block;width:34px;height:44px;object-fit:contain;filter:drop-shadow(0 5px 9px #1018281f)}
.footer-brand b{display:block;color:var(--ink);font-size:15px;line-height:1.2}
.foot-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px}
.contact-links,.cta-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.contact-link{display:inline-flex;min-height:42px;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#344054;font-size:12px;font-weight:750;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.contact-link:hover{transform:translateY(-2px);border-color:#bdc8d6;box-shadow:0 8px 22px #10182812}
.contact-link img{display:block;width:20px;height:20px;object-fit:contain}
.contact-link span{color:var(--muted);font-weight:600}
.cta .contact-link{border-color:#ffffffd9;background:#fff;color:#111827;box-shadow:0 6px 18px #0000001a}
.cta .contact-link span{color:#667085}

@media(max-width:900px){
  .foot{align-items:flex-start}
  .foot-actions{max-width:62%}
}

@media(max-width:740px){
  .brand-logo{width:29px;height:38px}
  .footer-logo{width:32px;height:42px}
  .foot-actions{max-width:none;align-items:flex-start;margin-top:20px}
  .contact-links,.cta-actions{width:100%;justify-content:flex-start}
  .contact-link{justify-content:center}
  .cta-actions{display:grid;grid-template-columns:1fr;margin-top:20px}
  .cta .contact-link{width:100%}
}

@media(max-width:420px){
  .footer-brand{min-width:0}
  .contact-links{display:grid;grid-template-columns:1fr}
  .contact-link{width:100%;justify-content:flex-start}
}

/* Contact actions: distinct, balanced controls with generous spacing. */
.contact-links,.cta-actions{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.contact-link.whatsapp-icon{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;justify-content:center;flex:0 0 44px;background:#f0fdf4;border-color:#a7e6bb;box-shadow:0 6px 18px #16a34a14}
.contact-link.whatsapp-icon:hover{border-color:#61c77f;box-shadow:0 9px 24px #16a34a22}
.contact-link.whatsapp-icon img{width:23px;height:23px}
.contact-links .contact-link:not(.whatsapp-icon),.cta-actions .contact-link:not(.whatsapp-icon){min-height:44px}

@media(max-width:740px){
  .contact-links,.cta-actions{display:flex;grid-template-columns:none;gap:14px;width:100%;justify-content:flex-start}
  .contact-links .contact-link:not(.whatsapp-icon),.cta-actions .contact-link:not(.whatsapp-icon){width:auto;flex:1 1 auto;justify-content:center}
  .cta-actions{margin-top:20px}
}

@media(max-width:420px){
  .contact-links{display:flex;grid-template-columns:none;gap:14px}
  .contact-link{width:auto}
  .contact-link.whatsapp-icon{width:44px;min-width:44px;flex-basis:44px}
  .contact-links .contact-link:not(.whatsapp-icon){min-width:0;flex:1 1 auto;justify-content:center;padding-inline:10px}
}
