/* Adapted from TapSocial pricing/contact at eab8014f38d8753f98c72cf178efbbe26668af96; see internal/SOURCE-REUSE.md */

    :root {
      --gold:#FFB627; --cyan:#35D0EE; --green:#3EE08F; --magenta:#F45FC0;
      --indigo:#4B3FD6; --petrol:#0E6E8C; --moss:#3F7C33; --plum:#7D2E7A;
      --dark:#0A1018; --navy:#0D1B2E; --white:#FFFFFF; --body-grey:#C8D2DD;
      --line:rgba(255,255,255,.13);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:white; background:#070d15; font-family:Inter,ui-sans-serif,sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; }
    img { display:block; max-width:100%; }
    button { font:inherit; }
    .material-symbols-rounded { display:inline-flex; align-items:center; justify-content:center; font-family:'Material Symbols Rounded'; font-weight:normal; font-style:normal; line-height:1; letter-spacing:normal; text-transform:none; white-space:nowrap; font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 24; }
    .wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }

    /* Header and navigation live in the canonical /site-header.css (#99). The rules
       that used to sit here targeted the pre-#99 bare-anchor dialect
       (`.primary-nav > a:not(.nav-cta)`), which still matched the new
       `.site-nav-link`/`.site-nav-cta` anchors AND outranked site-header.css on
       specificity (0-2-1 vs 0-2-0). Do not restyle the header here. */
    .primary-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; color:var(--dark); background:var(--green); box-shadow:6px 6px 0 var(--indigo); font-size:13px; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; transition:transform .18s ease,box-shadow .18s ease; }
    .primary-cta:hover,.primary-cta:focus-visible { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--indigo); outline:none; }

    .pricing-hero { position:relative; min-height:590px; display:grid; place-items:center; overflow:hidden; padding:180px 20px 95px; text-align:center; background:var(--dark); }
    .pricing-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 20%,rgba(75,63,214,.48),transparent 12%),radial-gradient(circle at 82% 26%,rgba(244,95,192,.26),transparent 16%),linear-gradient(135deg,#0A1018,#0D1B2E); }

    .hero-inner { position:relative; z-index:1; max-width:880px; }
    .eyebrow { display:inline-flex; margin-bottom:34px; padding:11px 18px; color:white; background:var(--indigo); box-shadow:6px 6px 0 var(--magenta); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
    h1,h2,h3,p { margin-top:0; }
    h1 { margin:0 0 28px; font-family:'Playfair Display',serif; font-size:clamp(60px,7.4vw,104px); font-style:italic; font-weight:600; letter-spacing:-.05em; line-height:.94; text-transform:none; }
    .hero-copy { max-width:760px; margin:0 auto; color:rgba(255,255,255,.71); font-size:clamp(17px,2vw,21px); line-height:1.7; }

    .tiers-section { padding:30px 0 150px; background:var(--dark); }
    .tier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
    .tier-float { min-width:0; animation:pricingCardFloat 8s ease-in-out var(--float-delay,0s) infinite; }
    .tier-float:nth-child(2) { --float-delay:-2.7s; }
    .tier-float:nth-child(3) { --float-delay:-5.3s; }
    .tier-float:hover,.tier-float:focus-within { animation-play-state:paused; }
    .tier-card { position:relative; min-width:0; height:100%; overflow:hidden; color:var(--dark); background:var(--card-face); box-shadow:8px 8px 0 var(--card-shadow); transform:rotate(var(--card-tilt)); transition:transform .28s ease,box-shadow .28s ease; }
    .tier-card:hover,.tier-card:focus-within { transform:translateY(-7px) rotate(0deg); box-shadow:11px 11px 0 var(--card-deep); }
    .tier-image { width:100%; height:auto; aspect-ratio:1.75; object-fit:cover; border-bottom:1px solid rgba(10,16,24,.28); }
    .tier-copy { min-height:550px; display:flex; flex-direction:column; padding:35px 30px 36px; }
    .tier-label { display:block; margin-bottom:15px; color:var(--card-label); font-size:11px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; }
    .tier-card h2 { margin:0 0 4px; font-family:'Bakbak One',sans-serif; font-size:43px; font-weight:400; letter-spacing:-.025em; line-height:1; text-transform:uppercase; }
    .tier-price { margin-bottom:25px; color:var(--dark); font-family:'Bakbak One',sans-serif; font-size:27px; }
    .tier-price span { color:rgba(10,16,24,.58); font-family:Inter,sans-serif; font-size:13px; font-weight:500; }
    .tier-card p { margin:0; color:rgba(10,16,24,.76); font-size:15px; line-height:1.72; }
    .tier-fit-title { min-height:53px; margin:4px 0 26px; color:var(--dark); font-family:'Playfair Display',serif; font-size:21px; font-weight:600; line-height:1.25; }
    .tier-fit-copy { min-height:80px; margin-bottom:22px!important; }
    .tier-checks { min-height:91px; margin:0 0 34px; padding:0; list-style:none; }
    .tier-checks li { position:relative; margin:10px 0; padding-left:24px; color:rgba(10,16,24,.78); font-size:14px; }
    .tier-checks li::before { content:'✓'; position:absolute; left:0; color:var(--dark); font-weight:900; }
    .tier-pricing-link { --nav-link-underline:var(--card-deep); min-height:32px; margin-top:auto; color:var(--dark); font-size:13px; letter-spacing:.06em; text-transform:none; }
    @keyframes pricingCardFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }

    .comparison-section { padding:0 0 130px; background:var(--dark); scroll-margin-top:125px; }
    .table-shell { padding:42px 42px 48px; background:#111d3b; box-shadow:10px 10px 0 var(--indigo); }
    .table-scroll { overflow-x:auto; scrollbar-color:var(--indigo) var(--dark); }
    table { width:100%; min-width:900px; border-collapse:collapse; table-layout:fixed; }
    th,td { padding:16px 18px; border-bottom:1px solid rgba(255,255,255,.11); text-align:left; vertical-align:middle; }
    thead th { border-bottom:3px solid var(--indigo); color:white; font-family:'Bakbak One',sans-serif; font-size:20px; font-weight:400; }
    thead th:first-child { width:24%; }
    tbody th { color:rgba(255,255,255,.54); font-size:13px; font-weight:500; }
    tbody td { color:rgba(255,255,255,.82); font-size:14px; line-height:1.45; }
    .group-row td { padding:34px 18px 14px; border:0; color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
    .check { color:var(--green); font-size:20px; font-weight:800; }

    /* Mobile stacked plan cards — replace the sideways-scrolling table below 600px
       (design: Pricing Table Mobile.dc.html). */
    .pm-mobile { display:none; }
    .pm-cards { display:flex; flex-direction:column; gap:24px; }
    .pm-card { padding:22px 18px 24px; background:#111d3b; box-shadow:6px 6px 0 var(--indigo); }
    .pm-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding-bottom:14px; border-bottom:3px solid var(--indigo); }
    .pm-head-l { display:flex; flex-direction:column; gap:7px; }
    .pm-tier { color:rgba(255,255,255,.5); font-size:11px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; }
    .pm-name { font-family:'Bakbak One',sans-serif; font-size:30px; line-height:1; letter-spacing:-.02em; text-transform:uppercase; }
    .pm-price { flex:none; font-family:'Bakbak One',sans-serif; font-size:26px; line-height:1; color:#fff; white-space:nowrap; }
    .pm-mo { font-family:Inter,sans-serif; font-size:12px; font-weight:500; color:rgba(255,255,255,.58); }
    .pm-glabel { padding:26px 0 8px; color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
    .pm-row { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.11); }
    .pm-k { flex:1 1 auto; color:rgba(255,255,255,.54); font-size:13px; font-weight:500; line-height:1.4; }
    .pm-v { flex:0 1 auto; max-width:56%; color:rgba(255,255,255,.82); font-size:14px; font-weight:500; line-height:1.4; text-align:right; text-wrap:pretty; }
    .pm-v.pm-check { color:var(--green); font-weight:800; }
    .pm-v.pm-dash { color:rgba(255,255,255,.38); }
    @media (max-width:600px) {
      .comparison-section .table-shell { display:none; }
      .pm-mobile { display:block; }
    }

    .cta-card h2 { margin:0 0 20px; font-family:'Playfair Display',serif; font-size:clamp(45px,6vw,68px); font-style:italic; font-weight:600; letter-spacing:-.04em; line-height:.94; text-transform:none; }

    .cta-section { padding:120px 20px 140px; background:var(--dark); }
    .cta-card { max-width:800px; margin:auto; padding:72px 60px; text-align:center; background:#111d3b; box-shadow:10px 10px 0 var(--magenta); }
    .cta-card p { max-width:560px; margin:0 auto 36px; color:rgba(255,255,255,.68); font-size:17px; line-height:1.7; }
    .primary-cta { min-height:56px; padding:17px 38px; }

    .site-footer { min-height:357px; padding:60px 40px 30px; color:white; background:#050505; }
    .footer-inner { width:min(1200px,100%); margin:auto; }
    .footer-top { display:grid; grid-template-columns:1.7fr repeat(4,1fr); gap:52px; min-height:136px; }
    .footer-brand img { width:225px; height:auto; }
    .footer-brand p { max-width:290px; margin:24px 0 0; color:rgba(255,255,255,.5); font-size:14px; line-height:1.7; }
    .footer-column h3 { margin:0 0 22px; color:white; font-family:Inter,sans-serif; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
    .footer-column a { display:block; margin:0 0 14px; color:rgba(255,255,255,.52); font-size:14px; text-decoration:none; }
    /* Mobile footer targets use their own space, never overlapping hit slop. */
    @media (max-width:900px) {
      footer .footer-column :is(a,button[data-cookie-settings]) { display:flex; align-items:center; min-height:44px; min-width:44px; margin-bottom:0; }
      footer .footer-bottom a, footer .footer-brand a.logo { display:inline-flex; align-items:center; min-height:44px; min-width:44px; }
    }
    .footer-column a:hover,.footer-column a:focus-visible { color:var(--cyan); outline:none; }
    .footer-bottom { min-height:71px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-top:60px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.38); font-size:12px; }
    .footer-legal-copy { display:flex; flex-direction:column; gap:3px; color:rgba(255,255,255,.4); font-size:11px; line-height:1.45; }
    .footer-patent-notice { color:inherit; font-size:inherit; }
    .footer-email { display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.68); text-decoration:none; }

    @media (max-width:1050px) {
      .wrap { width:min(100% - 48px,1200px); }
      .tier-grid { gap:24px; }
      .tier-copy { padding:28px 24px 30px; }
      .footer-top { grid-template-columns:1.5fr repeat(4,1fr); gap:28px; }
    }
    @media (max-width:900px) {
      .pricing-hero { min-height:560px; padding-top:150px; }
      .tier-grid { grid-template-columns:1fr; max-width:650px; margin:auto; gap:32px; }
      .tier-card { transform:none; }
      .tier-copy { min-height:550px; }
      .table-shell { padding:28px 0 34px; box-shadow:7px 7px 0 var(--indigo); }
      .table-scroll { padding:0 24px; }
      thead th:first-child,tbody th { position:sticky; left:0; z-index:2; background:#111d3b; }
      .footer-top { grid-template-columns:repeat(2,1fr); }
      .footer-brand { grid-column:1/-1; }
    }
    @media (max-width:600px) {
      .wrap { width:min(100% - 28px,1200px); }
      .pricing-hero { min-height:530px; padding:132px 16px 76px; }
      .eyebrow { margin-bottom:28px; }
      h1 { font-size:clamp(52px,16vw,76px); }
      .hero-copy { font-size:16px; }

      .tiers-section { padding-bottom:95px; }
      .tier-card { box-shadow:6px 6px 0 var(--card-shadow); }
      .tier-card:hover,.tier-card:focus-within { transform:none; box-shadow:8px 8px 0 var(--card-deep); }
      .tier-copy { min-height:0; padding:27px 23px 30px; }
      .tier-fit-title,.tier-fit-copy,.tier-checks { min-height:0; }
      .tier-card h2 { font-size:39px; }
      .comparison-section { padding-bottom:90px; }
      .cta-section { padding:90px 14px 110px; }
      .cta-card { padding:54px 24px; box-shadow:7px 7px 0 var(--magenta); }
      .site-footer { padding:48px 20px 26px; }
      .footer-top { gap:34px 22px; }
      .footer-bottom { align-items:flex-start; flex-direction:column; margin-top:44px; }
    }
    @media (prefers-reduced-motion:reduce) { html:where(:not([data-ios-motion])){ scroll-behavior:auto; } :where(html:not([data-ios-motion])) *,:where(html:not([data-ios-motion])) *::before,:where(html:not([data-ios-motion])) *::after{ transition:none!important; } :where(html:not([data-ios-motion])) .tier-float{ animation:none!important; } :where(html:not([data-ios-motion])) .tier-card,:where(html:not([data-ios-motion])) .tier-card:hover,:where(html:not([data-ios-motion])) .tier-card:focus-within{ transform:none; } }
  

    html{overflow-x:clip}
    .contact-page{overflow-x:clip;background:#0A1018}
    .contact-hero{position:relative;min-height:690px;display:grid;align-items:center;padding:150px 0 110px;overflow:hidden;background:#0A1018}
    .contact-hero::before{content:"";position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(circle at 19% 42%,rgba(14,110,140,.42),transparent 27%),radial-gradient(circle at 83% 24%,rgba(125,46,122,.34),transparent 24%),radial-gradient(circle at 72% 82%,rgba(75,63,214,.24),transparent 28%)}
    .contact-hero::after{content:"";position:absolute;right:-7vw;bottom:-15vw;width:44vw;height:44vw;min-width:420px;min-height:420px;border:2px solid rgba(53,208,238,.16);border-radius:50%;box-shadow:0 0 0 5vw rgba(244,95,192,.045),0 0 0 10vw rgba(255,182,39,.035)}
    .contact-hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:auto;display:block;text-align:center}
    .contact-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
    .contact-hero h1{max-width:850px;margin:0 auto;color:#fff;font-family:'Playfair Display',serif;font-size:clamp(64px,8.7vw,124px);font-style:italic;font-weight:600;line-height:.9;letter-spacing:-.05em;text-transform:none}
    .contact-hero-copy{max-width:650px;margin:34px auto 0;color:#C8D2DD;font-size:clamp(17px,1.6vw,21px);line-height:1.7}

    .contact-experience{position:relative;padding:110px 0 125px;background:#0A1018}
    .contact-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr);gap:30px;align-items:start}
    .contact-form-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
    .growth-form-panel{padding:52px;background:#0D1B2E;border:1px solid rgba(255,255,255,.14);box-shadow:10px 10px 0 #35D0EE;scroll-margin-top:120px;}
    .form-kicker{display:block;margin-bottom:14px;color:#FFB627;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
    .growth-form-panel h2,.contact-side h2{margin:0;color:#fff;font-family:'Bakbak One',sans-serif;font-size:clamp(38px,5vw,64px);font-weight:400;line-height:.9;text-transform:uppercase}
    .growth-form{display:grid;gap:22px;margin-top:32px}
    .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
    .field{display:grid;gap:9px}
    .field label,.field legend{padding:0;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
    .required{color:#F45FC0}
    .field input,.field select,.field textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:0;color:#fff;background:#0A1018;font:inherit;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
    .field textarea{min-height:150px;resize:vertical;line-height:1.55}
    .field input::placeholder,.field textarea::placeholder{color:#8995A3}
    .field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#35D0EE 50%),linear-gradient(135deg,#35D0EE 50%,transparent 50%);background-position:calc(100% - 20px) 23px,calc(100% - 14px) 23px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
    .field select option{color:#fff;background:#0D1B2E}
    .field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(53,208,238,.6)}
    .field input:focus,.field select:focus,.field textarea:focus{border-color:#35D0EE;background:#0D1B2E;box-shadow:0 0 0 4px rgba(53,208,238,.14)}
    .form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
    .brief-submit{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border:0;color:#0A1018;background:#FFB627;box-shadow:6px 6px 0 #F45FC0;transform:rotate(1deg);font:800 12px/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
    .brief-submit:hover,.brief-submit:focus-visible{transform:rotate(-1deg) translateY(-4px);background:#35D0EE;box-shadow:10px 10px 0 #4B3FD6;outline:2px solid #fff;outline-offset:4px}
    .brief-submit:active{transform:rotate(0deg) translate(4px,4px);box-shadow:2px 2px 0 #4B3FD6}
    .form-status{display:none;padding:16px 18px;border-left:4px solid #3EE08F;color:#fff;background:rgba(62,224,143,.1);line-height:1.6}
    .form-status.is-visible{display:block}.form-status a{color:#35D0EE;font-weight:700}
    .contact-side{position:sticky;top:108px;display:grid;gap:22px}
    .contact-side-card{padding:34px;background:#111D3B;border:1px solid rgba(255,255,255,.13)}
    .contact-side-card.accent{box-shadow:8px 8px 0 #F45FC0}
    .direct-contact-card{min-width:0;box-shadow:8px 8px 0 #4B3FD6}
    .direct-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:14px;margin-top:18px}
    .direct-routes .contact-route{min-width:0;padding:16px;background:#0D1B2E;border:1px solid rgba(255,255,255,.13)}
    .direct-routes .contact-route strong{overflow-wrap:anywhere}
    .direct-routes .contact-route:last-child{border-bottom:1px solid rgba(255,255,255,.13)}
    .direct-routes .contact-route:nth-child(2) .contact-route-icon{background:#3EE08F;box-shadow:4px 4px 0 #4B3FD6}
    .direct-routes .contact-route:nth-child(3) .contact-route-icon{background:#35D0EE;box-shadow:4px 4px 0 #4B3FD6}
    .contact-side h2{font-size:39px}
    .contact-side-lead{margin:18px 0 0;color:#C8D2DD;line-height:1.7}
    .next-steps{list-style:none;margin:30px 0 0;padding:0;counter-reset:steps}
    .next-steps li{position:relative;min-height:64px;margin-top:20px;padding-left:66px;color:#C8D2DD;line-height:1.55;counter-increment:steps}
    .next-steps li::before{content:"0" counter(steps);position:absolute;left:0;top:0;width:48px;height:48px;display:grid;place-items:center;color:#0A1018;background:#35D0EE;font-family:'Bakbak One',sans-serif;font-size:18px;box-shadow:4px 4px 0 #4B3FD6}
    .next-steps strong{display:block;margin-bottom:3px;color:#fff;font-size:13px;text-transform:uppercase}
    .contact-route{display:flex;align-items:center;gap:15px;padding:18px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.13)}
    .contact-route:last-child{border-bottom:0}.contact-route .contact-route-icon{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;color:#0A1018;background:#FFB627;box-shadow:4px 4px 0 #F45FC0}
    .contact-route:nth-child(3) .contact-route-icon{background:#3EE08F;box-shadow:4px 4px 0 #4B3FD6}
    .contact-route strong{display:block}
    .contact-route:hover strong,.contact-route:focus-visible strong{color:#35D0EE}.contact-route:focus-visible{outline:2px solid #35D0EE;outline-offset:4px}
    .contact-closing{padding:100px 24px;text-align:center;color:#0A1018;background:#FFB627}
    .contact-closing span{display:block;margin-bottom:16px;font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
    .contact-closing h2{max-width:900px;margin:0 auto;font-family:'Playfair Display',serif;font-size:clamp(48px,8vw,96px);font-style:italic;font-weight:600;line-height:.94;letter-spacing:-.045em;text-transform:none}
    .contact-closing p{max-width:650px;margin:26px auto 0;font-size:17px;line-height:1.7}
    @media(max-width:1050px){.contact-shell{grid-template-columns:1fr}.contact-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-side-card.accent{grid-column:1/-1}}
    @media(max-width:900px){.contact-hero{min-height:auto;padding:138px 0 90px}}
    @media(max-width:600px){.contact-hero-inner,.contact-shell{width:min(100% - 28px,1180px)}.contact-shell{grid-template-columns:minmax(0,1fr)}.contact-hero{padding:126px 0 76px}.contact-hero h1{font-size:clamp(58px,18vw,78px)}.contact-hero-copy{font-size:17px}.contact-experience{padding:74px 0 88px}.growth-form-panel{min-width:0;padding:30px 20px;box-shadow:7px 7px 0 #35D0EE}.field-row{grid-template-columns:1fr}.contact-side{min-width:0;grid-template-columns:minmax(0,1fr)}.contact-side h2{font-size:34px}.contact-side-card.accent{grid-column:auto}.contact-side-card{min-width:0;padding:27px}.direct-routes{grid-template-columns:minmax(0,1fr)}.form-actions{align-items:stretch;flex-direction:column}.brief-submit{width:100%}.contact-closing{padding:78px 20px}.contact-closing h2{font-size:52px}}

    @media(prefers-reduced-motion:reduce){:where(html:not([data-ios-motion])) .brief-submit,:where(html:not([data-ios-motion])) .field input,:where(html:not([data-ios-motion])) .field select,:where(html:not([data-ios-motion])) .field textarea{transition:none}}
  