:root { --navy:#101d33; --blue:#203653; --teal:#32b8b1; --off:#f6f8fa; --slate:#526174; --white:#fff; --line:#dbe3ea; --shadow:0 18px 55px rgba(16,29,51,.08); --radius:18px; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--navy); background:var(--white); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.65; }
img { max-width:100%; display:block; }
a { color:inherit; }
.container { width:min(calc(100% - 48px), var(--max)); margin-inline:auto; }
.narrow { width:min(calc(100% - 48px), 860px); }
.site-header { background:var(--navy); color:var(--white); position:relative; z-index:10; }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; flex-direction:column; font-size:.83rem; line-height:1.05; font-weight:800; letter-spacing:.17em; text-decoration:none; }
.brand-logo { width:52px; flex:0 0 auto; }
.brand-logo img { width:100%; height:auto; }
.site-nav ul, .footer-nav { display:flex; gap:28px; list-style:none; padding:0; margin:0; }
.site-nav a, .footer-nav a { text-decoration:none; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; opacity:.8; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a.is-active, .footer-nav a:hover, .footer-nav a:focus-visible { opacity:1; color:var(--teal); }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.45); background:transparent; color:var(--white); border-radius:999px; padding:.55rem .8rem; font:inherit; }
.eyebrow { margin:0 0 1.1rem; color:var(--teal); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3 { margin:0; line-height:1.12; letter-spacing:-.035em; }
h1 { font-size:clamp(2.6rem, 7vw, 5.9rem); max-width:980px; }
h2 { font-size:clamp(2rem, 4vw, 3.7rem); }
h3 { font-size:1.28rem; }
p { margin:0 0 1rem; color:var(--slate); }
.lead { font-size:clamp(1.05rem, 1.7vw, 1.35rem); max-width:820px; margin-top:1.5rem; }
.hero { background:var(--navy); color:var(--white); padding:clamp(4.5rem, 8vw, 7rem) 0 6rem; position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:min(55vw,720px); height:320px; right:-12%; bottom:-150px; background:linear-gradient(135deg,rgba(50,184,177,.34),rgba(32,54,83,.2)); transform:rotate(-11deg); }
.hero p { color:rgba(255,255,255,.72); }
.hero-actions, .cta-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:2.3rem; }
.button { display:inline-flex; align-items:center; gap:.6rem; border-radius:999px; padding:.8rem 1.15rem; font-size:.84rem; font-weight:800; letter-spacing:.04em; text-decoration:none; border:1px solid transparent; transition:transform .2s ease, background .2s ease; cursor:pointer; }
.button:hover, .button:focus-visible { transform:translateY(-2px); }
.button-primary { background:var(--teal); color:var(--navy); }
.button-secondary { color:var(--white); border-color:rgba(255,255,255,.35); }
.button-secondary:hover, .button-secondary:focus-visible { background:rgba(255,255,255,.12); }
.section { padding:clamp(4rem, 6vw, 5.5rem) 0; }
.section-tint { background:var(--off); }
.section-dark { background:var(--blue); color:var(--white); }
.section-dark p { color:rgba(255,255,255,.72); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:2.8rem; }
.section-heading > div { max-width:760px; }
.section-heading p:not(.eyebrow) { max-width:620px; margin-top:1rem; }
.service-grid, .process-grid, .detail-grid, .faq-grid { display:grid; gap:18px; }
.service-grid { grid-template-columns:repeat(4,1fr); }
.service-card, .process-grid article, .detail-card, .faq-card { border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; background:var(--white); }
.service-card { min-height:258px; display:grid; grid-template-rows:1.2rem 4.15rem 1fr; align-content:start; gap:.8rem; }
.service-card p, .process-grid p, .detail-card p, .faq-card p { font-size:.95rem; }
.card-number { display:block; color:var(--teal); font-size:.76rem; font-weight:800; letter-spacing:.15em; }
.service-card h3 { margin:0; align-self:start; }
.service-card-description { margin:0; align-self:start; }
.logo-rail { display:grid; grid-template-columns:repeat(6,1fr); align-items:center; gap:20px; margin-top:2.2rem; }
.logo-rail figure { margin:0; min-height:110px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.45rem; }
.logo-rail img { max-height:66px; width:auto; object-fit:contain; }
.logo-rail figcaption { font-size:.68rem; color:var(--slate); text-align:center; }
.process-grid { grid-template-columns:repeat(3,1fr); }
.process-grid-4 { grid-template-columns:repeat(2,1fr); }
.process-grid article { background:transparent; border-color:rgba(255,255,255,.2); }
.process-grid h3 { margin:1.3rem 0 .55rem; }
.process-grid .button { margin-top:1.1rem; align-self:start; }
.inline-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:1.35rem; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:center; }
.hero-image { width:100%; border-radius:var(--radius); aspect-ratio:49/16; object-fit:cover; opacity:.95; }
.callout { padding:clamp(2.2rem,5vw,4rem); background:var(--navy); color:var(--white); border-radius:var(--radius); }
.callout p { color:rgba(255,255,255,.72); }
.callout .eyebrow { color:var(--teal); }
.page-hero { padding:clamp(2.75rem, 4.8vw, 4.25rem) 0; background:var(--white); border-bottom:1px solid var(--line); }
.page-hero-inner { max-width:var(--max); }
.page-hero h1 { max-width:780px; font-size:clamp(2.45rem, 4.8vw, 4.35rem); }
.page-hero .lead { max-width:700px; margin-top:1.15rem; }
.detail-grid { grid-template-columns:repeat(2,1fr); }
.detail-card { padding:clamp(1.5rem,3vw,2.4rem); }
.detail-card-head { display:flex; gap:1.2rem; align-items:start; }
.detail-card h2 { font-size:clamp(1.4rem,2.4vw,2.1rem); }
.detail-card > p { margin-top:1.35rem; }
.detail-card h3 { font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; margin:1.5rem 0 .7rem; }
.detail-card ul { margin:0; padding-left:1.1rem; color:var(--slate); }
.detail-card li + li { margin-top:.25rem; }
.faq-grid { grid-template-columns:repeat(2,1fr); }
.faq-card { padding:0; overflow:hidden; }
.faq-card summary { list-style:none; display:grid; grid-template-columns:36px 1fr 24px; gap:10px; align-items:start; padding:1.5rem; cursor:pointer; font-weight:800; }
.faq-card summary::-webkit-details-marker { display:none; }
.faq-card summary:focus-visible { outline:3px solid var(--teal); outline-offset:-3px; }
.faq-card p { padding:0 1.5rem 1.5rem 4.1rem; }
.faq-icon { font-size:1.4rem; line-height:1; color:var(--teal); transition:transform .2s; }
.faq-card[open] .faq-icon { transform:rotate(45deg); }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.contact-form { padding:clamp(1.4rem,3vw,2.5rem); background:var(--off); border-radius:var(--radius); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label { display:flex; flex-direction:column; gap:.35rem; color:var(--navy); font-size:.84rem; font-weight:700; }
input, textarea { width:100%; border:1px solid #c8d3dd; border-radius:10px; padding:.8rem .9rem; background:var(--white); color:var(--navy); font:inherit; }
input:focus, textarea:focus { outline:3px solid rgba(50,184,177,.28); border-color:var(--teal); }
.full-width { grid-column:1 / -1; }
.form-notice { font-size:.82rem; margin:1.2rem 0; }
.form-status { min-height:1.6em; margin:1rem 0 0; color:var(--navy); font-weight:700; }
.field-optional { color:var(--slate); font-weight:500; }
.check-row { display:grid; grid-template-columns:1.1rem 1fr; align-items:start; gap:.65rem; margin-top:1rem; font-size:.82rem; line-height:1.5; }
.check-row input { width:1.05rem; height:1.05rem; margin-top:.15rem; accent-color:var(--teal); }
.playbook-preview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr); gap:clamp(2rem,7vw,6rem); align-items:center; padding:clamp(1.7rem,4vw,3.3rem); border:1px solid var(--line); background:var(--off); border-radius:var(--radius); }
.playbook-copy h2 { max-width:650px; margin-bottom:1rem; font-size:clamp(2rem,4vw,3.35rem); }
.playbook-preview-intro { max-width:700px; font-size:1.08rem; }
.playbook-benefits { display:grid; gap:1rem; margin:1.7rem 0; padding:0; list-style:none; }
.playbook-benefits li { display:grid; gap:.2rem; padding-left:1.1rem; border-left:3px solid var(--teal); }
.playbook-benefits strong { color:var(--navy); font-size:1rem; line-height:1.25; }
.playbook-benefits span { color:var(--slate); font-size:.9rem; }
.playbook-preview-note { margin:0; color:var(--slate); font-size:.83rem; }
.playbook-cover { width:min(100%,320px); aspect-ratio:3 / 4; justify-self:end; display:flex; flex-direction:column; padding:clamp(1.4rem,4vw,2.2rem); border-radius:10px 18px 18px 10px; background:linear-gradient(145deg,var(--navy),#203653 72%,#2a827f); color:var(--white); box-shadow:18px 20px 0 rgba(16,29,51,.08), 0 18px 45px rgba(16,29,51,.18); position:relative; overflow:hidden; }
.playbook-cover:after { content:""; position:absolute; width:180px; height:180px; right:-75px; bottom:-80px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 18px rgba(255,255,255,.05),0 0 0 36px rgba(255,255,255,.04); }
.playbook-cover-mark { display:grid; place-items:center; width:2.4rem; height:2.4rem; margin-bottom:auto; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:var(--teal); font-weight:800; }
.playbook-cover-kicker, .playbook-cover-edition { margin:0; color:rgba(255,255,255,.7); font-size:.62rem; font-weight:800; letter-spacing:.18em; }
.playbook-cover h3 { margin:1.2rem 0 1.4rem; color:var(--white); font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.04; letter-spacing:.01em; }
.playbook-cover-rule { width:54px; height:3px; margin-bottom:1rem; background:var(--teal); }
.playbook-cover-edition span { color:var(--teal); }
.product-label { margin:0 0 .8rem; color:var(--teal); font-size:.72rem; font-weight:800; letter-spacing:.18em; }
.product-wordmark { margin-bottom:1.3rem; color:var(--navy); font-size:clamp(1.7rem,3vw,2.5rem); font-weight:800; letter-spacing:-.05em; }
.product-wordmark span { color:var(--teal); }
.product-facts { margin:1.3rem 0 1.5rem; padding-left:1.15rem; color:var(--slate); }
.product-facts li + li { margin-top:.45rem; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.turnstile-wrap { margin:1rem 0; min-height:65px; }
.contact-facts { display:grid; gap:1.6rem; margin-top:2rem; }
.contact-facts h3 { font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; }
.contact-facts p { margin-top:.3rem; }
.privacy-content { max-width:880px; }
.privacy-content section { padding:2rem 0; border-bottom:1px solid var(--line); }
.privacy-content h2 { font-size:clamp(1.45rem,2.8vw,2.15rem); margin-bottom:1rem; }
.privacy-content p { margin-bottom:.9rem; }
.privacy-content .policy-list { padding-left:1.2rem; color:var(--slate); }
.site-footer { padding:4.5rem 0 1.3rem; background:var(--navy); color:var(--white); }
.site-footer p { color:rgba(255,255,255,.62); }
.brand-footer { width:64px; margin-bottom:1.2rem; }
.footer-grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr); gap:clamp(3rem,8vw,8rem); padding-bottom:4rem; }
.footer-navigation { min-width:0; }
.footer-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.6rem; }
.footer-nav li { min-width:0; }
.footer-nav a { display:block; overflow-wrap:normal; word-break:normal; text-wrap:balance; }
.footer-grid a { color:var(--white); text-decoration:none; }
.footer-grid a:hover, .footer-grid a:focus-visible { color:var(--teal); }
.footer-bottom { padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.17); display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.55); font-size:.78rem; }
.footer-bottom a { color:rgba(255,255,255,.78); }
@media (max-width: 900px) { .service-grid { grid-template-columns:repeat(2,1fr); } .logo-rail { grid-template-columns:repeat(3,1fr); } .contact-layout { grid-template-columns:1fr; } }
@media (max-width: 900px) { .playbook-preview { gap:2rem; } .footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .container, .narrow { width:min(calc(100% - 32px), var(--max)); } .header-inner { min-height:76px; } .brand-logo { width:46px; } .brand-footer { width:60px; } .menu-toggle { display:block; } .site-nav { display:none; position:absolute; inset:76px 0 auto; background:var(--navy); padding:1rem 16px 1.3rem; border-top:1px solid rgba(255,255,255,.12); } .site-nav.is-open { display:block; } .site-nav ul { flex-direction:column; gap:0; } .site-nav li { border-bottom:1px solid rgba(255,255,255,.12); } .site-nav a { display:block; padding:.75rem 0; } .hero { padding:4.5rem 0 5rem; } .page-hero { padding:2.5rem 0 2.7rem; } .page-hero h1 { font-size:clamp(2.25rem, 11vw, 3.15rem); } .section-heading, .split { display:block; } .section-heading .button { margin-top:1.2rem; } .service-grid, .process-grid, .process-grid-4, .detail-grid, .faq-grid { grid-template-columns:1fr; } .service-card { min-height:0; grid-template-rows:auto auto auto; } .logo-rail { grid-template-columns:repeat(2,1fr); } .form-grid { grid-template-columns:1fr; } .full-width { grid-column:auto; } .playbook-preview { grid-template-columns:1fr; gap:2.2rem; padding:1.5rem; } .playbook-cover { justify-self:start; width:min(100%,280px); } .footer-grid, .footer-bottom { display:block; } .footer-grid > div + div { margin-top:2.5rem; } .footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; } .footer-bottom span, .footer-bottom a { display:block; } .footer-bottom a { margin-top:.7rem; } }
