
:root{
  --blue:#1A3177;--blue-2:#27428f;--ink:#10162b;--muted:#687087;
  --line:#dfe3ec;--paper:#fff;--soft:#f5f7fb;--max:1240px;
  --serif:"Cormorant Garamond", Georgia, serif;--sans:Inter,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.section{padding:120px 0}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:700}.display{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:.98;font-size:clamp(3.3rem,7vw,7.2rem);margin:.4em 0}.h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.03em;font-weight:500;margin:.25em 0}.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--muted);max-width:720px}.btn{display:inline-flex;align-items:center;gap:.75rem;padding:14px 22px;border:1px solid var(--blue);font-weight:600;font-size:.92rem;transition:.25s;background:var(--blue);color:#fff}.btn:hover{transform:translateY(-2px);background:var(--blue-2)}.btn.secondary{background:transparent;color:var(--blue)}.btn.secondary:hover{background:var(--blue);color:#fff}.arrow{font-size:1.2rem}.header{position:fixed;inset:0 0 auto;z-index:50;height:86px;display:flex;align-items:center;transition:.3s;border-bottom:1px solid transparent}.header.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-color:var(--line);height:72px}.nav{display:flex;align-items:center;justify-content:space-between}.brand img{width:184px;height:auto}.navlinks{display:flex;align-items:center;gap:30px;font-size:.88rem;font-weight:600}.navlinks a:not(.btn){position:relative}.navlinks a:not(.btn):after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--blue);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.menu-btn{display:none;background:none;border:0;font-size:1.4rem;color:var(--blue)}
.hero{min-height:100svh;display:flex;align-items:flex-end;padding:180px 0 76px;position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0 56%,#f1f4fa 56% 100%)}.hero:before{content:"";position:absolute;width:58vw;height:58vw;right:-10vw;top:8vh;border:1px solid rgba(26,49,119,.18);border-radius:50%}.hero:after{content:"";position:absolute;width:38vw;height:38vw;right:0;top:18vh;border:1px solid rgba(26,49,119,.3);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;position:relative;z-index:2}.hero-copy p{max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-side{border-left:1px solid var(--line);padding-left:34px;padding-bottom:10px;color:var(--muted)}.hero-side strong{display:block;color:var(--blue);font-size:1rem;margin-bottom:8px}.scroll{position:absolute;bottom:28px;right:40px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);z-index:3}
.manifesto{background:var(--blue);color:#fff}.manifesto .eyebrow{color:#c8d2ff}.manifesto blockquote{font-family:var(--serif);font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:1.05;letter-spacing:-.03em;margin:35px 0 0;max-width:1100px}.manifesto blockquote span{color:#aebeff}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:70px}.service{padding:34px 32px 42px 0;border-bottom:1px solid var(--line);position:relative}.service+.service{padding-left:32px;border-left:1px solid var(--line)}.num{font-family:var(--serif);font-size:2.2rem;color:var(--blue)}.service h3{font-size:1.25rem;margin:22px 0 12px}.service p{color:var(--muted)}.text-link{display:inline-flex;gap:10px;color:var(--blue);font-weight:700;font-size:.9rem;margin-top:12px}.governance{background:var(--soft)}.gov-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.diagram{aspect-ratio:1/1;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid rgba(26,49,119,.22);border-radius:50%}.ring.r1{inset:7%}.ring.r2{inset:21%}.core{width:180px;height:180px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:20px;z-index:3;box-shadow:0 20px 50px rgba(26,49,119,.18)}.node{position:absolute;background:#fff;border:1px solid var(--line);padding:10px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;z-index:4}.n1{top:4%;left:42%}.n2{right:0;top:28%}.n3{right:4%;bottom:20%}.n4{left:35%;bottom:3%}.n5{left:0;bottom:24%}.n6{left:2%;top:26%}.value{background:#0d173d;color:#fff}.value .eyebrow{color:#aebeff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.18)}.metric{padding:34px 28px 20px 0}.metric+.metric{padding-left:28px;border-left:1px solid rgba(255,255,255,.18)}.metric strong{font-family:var(--serif);font-size:3.4rem;font-weight:500;color:#c8d2ff}.metric span{display:block;font-weight:700;margin:8px 0}.metric p{color:#bec5d9;font-size:.92rem}.method-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:70px;position:relative}.method-grid:before{content:"";position:absolute;top:22px;left:0;right:0;height:1px;background:var(--line)}.step{position:relative;padding:56px 22px 0 0}.step:before{content:"";position:absolute;top:16px;left:0;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--blue)}.step h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.step p{font-size:.9rem;color:var(--muted)}.partners{background:var(--soft)}.partner-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.quote{font-family:var(--serif);font-size:clamp(2rem,3.6vw,4rem);line-height:1.08;color:var(--blue);margin:0}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.project{min-height:410px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:var(--soft);border:1px solid var(--line)}.project:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 20%,rgba(26,49,119,.12));transition:.5s}.project:hover:before{transform:scale(1.08)}.project>*{position:relative;z-index:2}.project small{color:var(--blue);text-transform:uppercase;letter-spacing:.12em}.project h3{font-family:var(--serif);font-size:2rem;line-height:1.05;margin:10px 0}.cta{padding:105px 0;background:var(--blue);color:#fff}.cta-grid{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta .h2{max-width:850px}.cta .btn{background:#fff;color:var(--blue);border-color:#fff}.footer{padding:70px 0 28px;background:#08102d;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-logo{filter:brightness(0) invert(1);width:210px;opacity:.95}.footer h4{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#aebeff}.footer a,.footer p{display:block;color:#c6cbda;font-size:.9rem;margin:7px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;color:#8f97ad;font-size:.8rem}
.page-hero{padding:190px 0 100px;background:var(--soft);border-bottom:1px solid var(--line)}.page-hero .lead{max-width:800px}.content-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px}.prose h2{font-family:var(--serif);font-size:2.6rem;line-height:1.08;font-weight:500}.prose p{color:var(--muted);font-size:1.06rem}.list{border-top:1px solid var(--line)}.list-item{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:20px}.list-item strong{color:var(--blue)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-card{padding:36px;background:var(--soft);border:1px solid var(--line)}.contact-card a{color:var(--blue);font-weight:700}.fade{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.fade.visible{opacity:1;transform:none}
@media(max-width:980px){.navlinks{display:none}.menu-btn{display:block}.navlinks.open{display:flex;position:fixed;inset:0;background:#fff;flex-direction:column;justify-content:center;font-size:1.25rem;z-index:-1}.hero-grid,.gov-grid,.partner-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.hero-side{display:none}.services-grid,.projects{grid-template-columns:1fr}.service+.service{padding-left:0;border-left:0}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(3){border-left:0}.method-grid{grid-template-columns:1fr 1fr}.method-grid:before{display:none}.step{padding-top:24px;border-top:1px solid var(--line)}.step:before{display:none}.footer-grid{grid-template-columns:1fr 1fr}.cta-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.container{width:min(calc(100% - 30px),var(--max))}.section{padding:82px 0}.header{height:72px}.brand img{width:155px}.hero{padding-top:130px;min-height:92svh;background:linear-gradient(150deg,#fff 0 62%,#f1f4fa 62%)}.hero:before{width:100vw;height:100vw;right:-42vw}.scroll{display:none}.display{font-size:3.55rem}.manifesto blockquote{font-size:2.8rem}.metrics,.method-grid,.footer-grid{grid-template-columns:1fr}.metric+.metric{padding-left:0;border-left:0}.projects{grid-template-columns:1fr}.project{min-height:330px}.diagram{transform:scale(.86);margin:-25px}.cta{padding:80px 0}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding:140px 0 76px}}

/* V3 refinements */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--blue);color:#fff;padding:10px 14px;transition:.2s}.skip-link:focus{top:16px}
body{overflow-x:hidden}
.header{background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
.header:not(.scrolled){border-bottom-color:rgba(26,49,119,.08)}
.brand img{image-rendering:auto}
.menu-btn{width:44px;height:44px;position:relative;z-index:60}
.menu-btn span{position:absolute;left:10px;right:10px;height:1px;background:var(--blue);transition:.25s}.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{align-items:center;padding-top:150px;background:linear-gradient(112deg,#fff 0 58%,#f4f6fb 58% 100%)}
.hero:before,.hero:after{display:none}
.hero-orbit{position:absolute;border:1px solid rgba(26,49,119,.16);border-radius:50%;pointer-events:none;animation:orbitFloat 10s ease-in-out infinite alternate}.orbit-a{width:62vw;height:62vw;right:-12vw;top:3vh}.orbit-b{width:38vw;height:38vw;right:1vw;top:16vh;animation-delay:-3s}.hero-line{position:absolute;right:31vw;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(26,49,119,.22),transparent)}
@keyframes orbitFloat{to{transform:translate3d(0,18px,0) scale(1.015)}}
.display em{font-style:normal;color:var(--blue)}
.hero-side{max-width:360px;margin-left:auto}
.scroll{right:40px;bottom:34px;display:flex;align-items:center;gap:14px}.scroll i{display:block;width:42px;height:1px;background:var(--blue);position:relative;overflow:hidden}.scroll i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scrollLine 2.2s ease-in-out infinite}@keyframes scrollLine{50%,100%{transform:translateX(100%)}}
.manifesto{position:relative;overflow:hidden}.manifesto:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-100px;bottom:-220px}.manifesto-support{font-size:clamp(1.15rem,1.7vw,1.45rem);max-width:790px;color:#d4daf0;margin:36px 0 0;padding-left:28px;border-left:1px solid rgba(255,255,255,.3)}
.section-kicker{margin:22px 0 0;color:#bfc8e4;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.metric strong{font-size:clamp(2.25rem,3.4vw,3.8rem);line-height:1;display:block;min-height:70px}
.diagram{isolation:isolate}.diagram-copy{position:absolute;left:7%;right:7%;bottom:-8px;background:#fff;border:1px solid var(--line);padding:18px 22px;box-shadow:0 18px 45px rgba(16,22,43,.08);z-index:6;opacity:0;transform:translateY(10px);transition:.3s;pointer-events:none}.diagram-copy.visible{opacity:1;transform:none}.diagram-copy span{font-weight:700;color:var(--blue);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.diagram-copy p{margin:6px 0 0;color:var(--muted);font-size:.9rem}.node{cursor:pointer;font-family:var(--sans);color:var(--ink);transition:.25s}.node:hover,.node:focus-visible,.node.active{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px);outline:none}.diagram:has(.node:hover) .ring,.diagram:has(.node:focus-visible) .ring{border-color:rgba(26,49,119,.42)}
.method-grid{counter-reset:method}.step{transition:.3s}.step-index{display:none}.step.active:before{background:var(--blue);box-shadow:0 0 0 7px rgba(26,49,119,.12)}.step.active h3{color:var(--ink)}
.project{transition:transform .35s ease,box-shadow .35s ease}.project:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(16,22,43,.09)}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--soft) 0 66%,#eef2f9 66%)}.page-hero .display{position:relative;z-index:2}.page-orbit{position:absolute;width:430px;height:430px;border:1px solid rgba(26,49,119,.16);border-radius:50%;right:-80px;top:-150px}.page-orbit:after{content:"";position:absolute;inset:90px;border:1px solid rgba(26,49,119,.22);border-radius:50%}
.prose>p:first-child{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.15;color:var(--ink);margin-top:0}.list-item{transition:.25s}.list-item:hover{padding-left:14px;background:linear-gradient(90deg,var(--soft),transparent)}
.sector-list{border-top:1px solid var(--line)}.sector-list article{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.sector-list strong{color:var(--blue)}.sector-list h3{margin:0 0 6px;font-size:1.15rem}.sector-list p{margin:0;color:var(--muted);font-size:.96rem}
.footer{position:relative}.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#5067ad,transparent)}.footer a{transition:.2s}.footer a:hover{color:#fff;transform:translateX(2px)}.footer-bottom a{display:inline;margin:0;color:inherit}
.fade{will-change:transform,opacity}.fade.visible{will-change:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:980px){.header{background:rgba(255,255,255,.94)}.navlinks.open{z-index:55;padding:110px 32px 48px;align-items:flex-start;justify-content:flex-start;gap:22px;overflow:auto}.navlinks.open a:not(.btn){font-family:var(--serif);font-size:2rem;font-weight:500}.navlinks.open .btn{margin-top:12px}.hero-line{display:none}.hero-orbit.orbit-a{width:80vw;height:80vw;right:-32vw}.diagram-copy{bottom:-22px}.content-grid{gap:44px}}
@media(max-width:620px){.hero{align-items:flex-end;padding-bottom:90px}.hero-orbit.orbit-a{width:120vw;height:120vw;right:-60vw;top:10vh}.orbit-b{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{width:100%;justify-content:center}.manifesto-support{padding-left:18px}.metric strong{min-height:auto}.diagram-copy{position:relative;left:auto;right:auto;bottom:auto;margin-top:18px}.node{font-size:.66rem;padding:8px 10px}.page-orbit{width:300px;height:300px}.sector-list article{grid-template-columns:44px 1fr}.footer-grid{gap:30px}.footer-logo{width:180px}}

/* Release Cloudflare — logo più grande */
.brand img{width:230px}
.header.scrolled .brand img{width:205px}
.brand img{transition:width .3s ease}
@media(max-width:1100px){.brand img{width:205px}.navlinks{gap:18px;font-size:.78rem}}
@media(max-width:620px){.brand img{width:190px}.header.scrolled .brand img{width:175px}}

/* =========================================================
   RELEASE 0.2 — HERO & DESIGN SYSTEM
   ========================================================= */
:root{
  --blue-deep:#0b1538;
  --blue-wash:#eef2fb;
  --focus:rgba(26,49,119,.22);
  --ease:cubic-bezier(.22,1,.36,1);
}
::selection{background:rgba(26,49,119,.16);color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.btn{min-height:50px;justify-content:center;transition:transform .28s var(--ease),background-color .28s,border-color .28s,color .28s,box-shadow .28s}
.btn:hover{box-shadow:0 12px 28px rgba(26,49,119,.15)}
.header{height:104px}
.header.scrolled{height:80px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:264px;max-height:88px;object-fit:contain;object-position:left center}
.header.scrolled .brand img{width:226px;max-height:70px}
.navlinks{gap:24px}
.hero{padding-top:176px;padding-bottom:86px}
.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(50px,7vw,110px)}
.hero-copy{max-width:850px}
.hero-copy .lead{margin-top:28px}
.hero-brief{max-width:390px;margin-left:auto;padding:28px 0 0 32px;border-left:1px solid rgba(26,49,119,.25);color:var(--muted)}
.hero-brief-intro>span{display:block;margin-bottom:14px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--blue)}
.hero-brief-intro strong{display:block;font-family:var(--serif);font-size:clamp(1.7rem,2.3vw,2.35rem);line-height:1.05;font-weight:500;color:var(--ink);margin-bottom:14px}
.hero-brief-intro p{margin:0;font-size:.96rem}
.hero-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-brief-grid span{padding:16px 10px 16px 0;font-family:var(--serif);font-size:1.15rem;color:var(--blue)}
.hero-brief-grid span+span{padding-left:14px;border-left:1px solid var(--line)}
.hero-brief-grid b{font-family:var(--sans);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero-actions{margin-top:40px}
.display{max-width:940px}
.manifesto blockquote{max-width:1180px}
.service,.metric,.step,.project{contain:layout paint}
.text-link{position:relative}
.text-link:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.text-link:hover:after{transform:scaleX(1);transform-origin:left}

@media(max-width:1180px){
  .brand img{width:224px}.header.scrolled .brand img{width:205px}
  .navlinks{gap:16px;font-size:.75rem}.navlinks .btn{padding-inline:16px}
  .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:45px}
}
@media(max-width:980px){
  .header{height:88px}.header.scrolled{height:74px}
  .brand img{width:224px;max-height:72px}.header.scrolled .brand img{width:205px;max-height:62px}
  .hero{padding-top:150px}.hero-grid{grid-template-columns:1fr}.hero-brief{display:block;max-width:680px;margin:10px 0 0;padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}
  .hero-brief-grid{max-width:520px}.hero-orbit.orbit-a{opacity:.72}
}
@media(max-width:620px){
  .header{height:82px}.header.scrolled{height:70px}
  .brand img{width:205px;max-height:68px}.header.scrolled .brand img{width:184px;max-height:58px}
  .hero{min-height:auto;padding-top:130px;padding-bottom:80px;align-items:flex-start}
  .hero-grid{gap:34px}.display{font-size:clamp(3.15rem,16vw,4.4rem)}
  .hero-copy .lead{margin-top:22px}.hero-brief{margin-top:0}.hero-brief-intro strong{font-size:1.8rem}
  .hero-brief-grid{margin-top:24px}.hero-brief-grid span{font-size:1rem;padding-block:13px}.hero-brief-grid b{font-size:.58rem}
  .hero-actions{margin-top:30px}.btn{min-height:52px}
}
@media(max-height:760px) and (min-width:981px){
  .hero{padding-top:130px;padding-bottom:60px}.display{font-size:clamp(3.2rem,6.2vw,6rem);margin:.25em 0}.hero-copy .lead{margin-top:18px}.hero-actions{margin-top:26px}.scroll{display:none}
}
