/* Shared visual rhythm. Content and payment destinations are preserved. */
:root{--ink:#123951;--slate:#4b6375;--cloud:#f7f9fa;--line:#dce4e8}
body{font-size:18px;line-height:1.85}
h1,h2,h3{text-wrap:pretty}
a:focus-visible,summary:focus-visible{outline:3px solid #006bff;outline-offset:5px}
.site-header{height:90px}
.brand{font-size:28px;letter-spacing:-.045em}
.header-cta{font-size:16px;box-shadow:none;padding:12px 24px}
.hero{padding:72px 28px 80px;min-height:690px;gap:56px}
.hero h1{font-size:clamp(52px,5.7vw,76px);line-height:1.2;letter-spacing:-.055em;margin-bottom:26px}
.hero-lead{font-size:20px;line-height:1.9;margin-bottom:26px}
.price-line{display:block;margin-bottom:26px}
.price-line strong{display:block;font-size:38px;line-height:1.5}
.price-line>span{display:block;font-size:18px;margin-top:4px;color:var(--ink)}
.hero-actions{gap:16px;align-items:center}
.button{font-size:17px;line-height:1.55;min-height:52px;padding:15px 22px}
.button span{flex-shrink:0}
a.button[href^="https://buy.stripe.com/"]{box-shadow:0 4px 10px rgba(174,87,0,.12)!important;background:#c75a00!important;border-color:#c75a00!important}
a.button[href^="https://buy.stripe.com/"]:hover{box-shadow:0 6px 14px rgba(174,87,0,.17)!important;background:#ad4d00!important;border-color:#ad4d00!important}
.hero-actions .button:not([href^="https://buy.stripe.com/"]){box-shadow:none;font-size:16px}
.microcopy{font-size:14px;line-height:1.85;margin-top:20px;max-width:530px}
.eyebrow{font-size:13px;letter-spacing:.15em;line-height:1.5;color:#91602a;margin-bottom:18px}
.eyebrow:before{display:none}
.hero-visual{height:460px}
.card-stage{width:min(385px,92%);filter:drop-shadow(0 22px 20px rgba(11,53,88,.12))}
.colour-orbit{opacity:.2;filter:none}
.orbit-one{width:330px;height:330px}
.orbit-two{border-width:16px;opacity:.5}
.tap-bubble{left:0;right:0;bottom:0;justify-content:center;gap:9px;border:0;background:none;padding:0;box-shadow:none;border-radius:0;font-size:18px}
.tap-phone-icon{width:36px;height:36px}
.tap-phone-icon svg path{stroke:var(--ink)}
.sample-strip{padding:72px 28px 80px;grid-template-columns:1fr 1.35fr;gap:28px 48px;border-top:1px solid var(--line)}
.sample-heading{grid-column:1;grid-row:1}
.sample-heading h2{font-size:32px;line-height:1.55;white-space:normal;letter-spacing:-.035em}
.sample-heading h2 br{display:none}
.sample-description{grid-column:1;grid-row:2;font-size:17px;line-height:1.9}
.sample-option-note{font-size:14px;line-height:1.8;font-weight:400}
.sample-cards{grid-column:2;grid-row:1/4;height:auto;min-height:330px;gap:12px;justify-content:center;padding:0}
.sample-cards img{width:36%;min-width:0;transform:none;filter:drop-shadow(0 12px 12px rgba(11,53,88,.1))}
.sample-cards .sample-instagram{width:26%!important;opacity:.9}
.sample-line-qr{position:static;grid-column:1;grid-row:3;justify-self:center;width:168px;padding:12px;border:1px solid #b6d8c2;border-radius:14px;box-shadow:none;margin:10px 0 0}
.sample-line-qr strong{font-size:14px;line-height:1.6}
.section{padding-top:96px;padding-bottom:96px}
.section-head{margin-bottom:44px;max-width:900px}
.section-head h2,.section-head.left h2{font-size:44px;line-height:1.45;letter-spacing:-.04em}
.section-head .eyebrow{justify-content:center}
.section-head.left .eyebrow{justify-content:flex-start}
.steps{gap:32px;border:0}
.steps article,.steps article:first-child,.steps article:last-child{padding:0;border:0;min-width:0}
.step-no{color:#557083;font-size:14px}
.step-photo{aspect-ratio:4/3;margin:16px 0 22px;border-radius:12px;box-shadow:none}
.steps h3{font-size:24px;line-height:1.5}
.steps p{font-size:17px;line-height:1.9}
.steps p small{font-size:14px;color:var(--slate)}
.product-grid{gap:0 22px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.product-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;padding:28px 26px;min-width:0;border-radius:16px;box-shadow:none;row-gap:16px}
.product-card.setup-plan{transform:none;border:2px solid #e4bd44!important;box-shadow:none!important}
.product-card .pill{justify-self:start;align-self:start;font-size:12px;line-height:1.6;padding:6px 10px;margin:0}
.product-card h3,.product-card .google-card-title,.product-card .setup-plan-title{font-size:22px!important;line-height:1.55!important;white-space:normal;word-break:normal;letter-spacing:-.04em!important;margin:0}
.product-sub{font-size:16px;line-height:1.85;min-height:0;margin:0}
.product-price{font-family:Manrope,"Noto Sans JP",sans-serif;font-size:43px;line-height:1.35;margin:0;align-self:end;font-variant-numeric:tabular-nums}
.product-price .price-label{font-size:14px;margin-bottom:8px}
.product-price span{font-size:15px}
.product-card .price-breakdown{margin:0!important;padding:0;background:none;border-radius:0;color:var(--slate)!important;font-size:14px!important;font-weight:500!important;line-height:1.8!important}
.monthly-fee{display:block;color:var(--ink);font-weight:700;margin-bottom:6px}
.product-card ul{font-size:15px;padding:18px 0 0;margin:0;align-self:start}
.product-card li{padding:5px 0}
.product-actions{display:flex;flex-direction:column;gap:12px;align-self:end}
.product-card .button{font-size:15px;padding:13px 12px;gap:8px;min-height:60px}
.maintenance-banner{background:#123951;box-shadow:none;border-radius:14px;padding:30px;margin-top:28px;gap:28px}
.maintenance-banner h3{font-size:30px;line-height:1.5}
.maintenance-banner>div:first-child p{font-size:14px;color:#e0ebf2}
.maintenance-copy>p:first-child{font-size:16px;color:#edf3f7}
.maintenance-copy .maintenance-reason{font-size:14px;color:#dce7ed;line-height:1.9}
.order-note{font-size:15px;line-height:1.9}
.support{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px 64px;align-items:start;background:#123951}
.support-heading h2{font-size:40px;line-height:1.5;white-space:normal}
.support-copy>p{font-size:17px;line-height:1.9;color:#e0e9ef}
.support-bubbles{margin:22px 0;gap:12px}
.support-bubbles p{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid #698396;border-radius:8px!important;box-shadow:none;padding:10px 14px!important;font-size:15px!important;font-weight:500!important}
.support-bubbles p:nth-child(2){background:rgba(255,255,255,.08)!important;color:#fff!important}
.support-bubbles p:after{display:none}
.profile-explainer,.tap-role{background:none;border:0;border-top:1px solid #526c7d;border-radius:0;padding:28px 0;margin:24px 0;color:#fff}
.profile-label{color:#ffe28b!important;font-size:14px!important}
.profile-explainer h3,.tap-role h3{font-size:25px;line-height:1.6}
.profile-explainer>p:not(.profile-label){color:#e0e9ef!important;font-size:16px!important;line-height:1.9!important}
.profile-explainer strong{color:#fff}
.profile-tip{border-color:#526c7d;font-weight:500}
.tap-role-flow{gap:24px}
.tap-role-flow>div{background:none;border-radius:0;padding:0;color:#fff}
.tap-role-flow b{font-size:17px;line-height:1.7}
.tap-role-flow b small,.tap-role-flow span{font-size:15px;color:#e0e9ef;line-height:1.9}
.support-flow-title{font-size:24px}
.support-steps{gap:0;margin:20px 0}
.support-steps li{background:none;border-radius:0;border-bottom:1px solid #526c7d;padding:18px 0;box-shadow:none;color:#e0e9ef;grid-template-columns:94px 1fr;font-size:15px}
.support-steps b{padding:0;justify-content:start;background:none;color:#ffe28b;font-size:15px}
.support-steps span{font-weight:400}
.support-note{font-size:14px!important;color:#d0dee8!important}
.support-card{padding:30px;border-radius:16px;box-shadow:none}
.support-card h3{font-size:28px}
.support-card p{font-size:17px}
.support-card strong{font-family:Manrope,"Noto Sans JP",sans-serif;font-size:38px}
.support-card small,.included{font-size:14px}
.support-consult{font-size:14px!important;min-height:54px}
.faq{max-width:980px}
.faq summary{font-size:19px;line-height:1.7}
.faq details p{font-size:16px;line-height:1.9}
.final-cta{background:#123951;padding:80px 28px}
.final-cta .eyebrow{justify-content:center}
.final-cta h2{font-size:44px;line-height:1.5;letter-spacing:-.04em;margin-bottom:28px}
.final-cta .button{margin:0 0 24px}
.line-contact{padding:72px 28px;background:#f3f8f5}
.line-contact-inner{max-width:1144px;grid-template-columns:minmax(0,1fr) 220px;gap:64px;padding:40px 48px;border:1px solid #d6e4dc;border-radius:18px;box-shadow:none}
.line-brand-logo{width:260px;height:68px;margin-bottom:16px}
.line-contact-label{font-size:12px;letter-spacing:.12em;color:#217848}
.line-contact h2{font-size:30px;line-height:1.6;letter-spacing:-.025em;margin-bottom:20px}
.line-contact h2>span{display:inline-block}
.line-contact h2 .line-heading-secondary{display:block;font-size:22px;line-height:1.7;margin-top:8px}
.line-contact-copy>p:not(.line-contact-label){font-size:16px;line-height:1.9}
.line-contact-note{font-size:14px;font-weight:500}
.line-qr-card{padding:10px;border-radius:12px;box-shadow:none}
.line-qr-card p{font-size:14px}
.site-footer{font-size:13px}
@media(min-width:761px) and (max-width:1050px){
 .hero{gap:20px}.hero h1{font-size:56px}.hero-actions{flex-wrap:wrap}.hero-visual{height:390px}
 .product-grid{column-gap:12px}.product-card{padding:22px 18px}.product-card h3,.product-card .google-card-title,.product-card .setup-plan-title{font-size:19px!important}.product-card .button{font-size:14px}
 .support{column-gap:32px}.line-contact-inner{padding:32px;gap:32px}
}
@media(max-width:760px){
 .site-header{height:76px;padding:0 20px}.brand{font-size:22px;gap:6px}.brand img{width:30px;height:30px}.header-cta{font-size:13px;padding:10px 16px}
 .hero{padding:36px 20px 52px;gap:24px}.hero-copy{order:1;min-width:0}.hero-visual{order:2;height:300px;margin:0}.hero h1{font-size:clamp(38px,10.7vw,58px);line-height:1.22;letter-spacing:-.055em;margin-bottom:22px}.hero-lead{font-size:17px;line-height:1.85;margin-bottom:22px}
 .price-line strong{font-size:30px}.price-line>span{font-size:16px}.hero-actions{flex-direction:row;flex-wrap:wrap;gap:12px}.hero-actions .primary{width:100%}.hero-actions .text{width:auto;font-size:14px}.microcopy{font-size:13px}.card-stage{width:240px}.orbit-one{width:235px;height:230px;right:15%}.orbit-two{width:200px;height:200px;left:12%}.tap-bubble{left:0;bottom:0;font-size:16px;padding:0;gap:8px}.tap-phone-icon{width:32px;height:32px}
 .sample-strip{padding:48px 20px;grid-template-columns:1fr;gap:24px}.sample-heading{grid-column:1;grid-row:1}.sample-heading h2{font-size:27px;line-height:1.6}.sample-cards{grid-column:1;grid-row:2;min-height:0;height:230px;gap:4px}.sample-cards img{max-width:150px}.sample-description{grid-column:1;grid-row:3;font-size:16px}.sample-line-qr{grid-row:4;justify-self:center;width:158px;margin:8px 0 0;padding:11px}.sample-line-qr strong{font-size:13px}
 .section{padding:60px 20px}.section-head h2,.section-head.left h2{font-size:30px;line-height:1.55;letter-spacing:-.045em}.section-head h2 br{display:none}.section-head{margin-bottom:32px}.eyebrow{font-size:12px;margin-bottom:12px}.steps{gap:32px}.steps article,.steps article:first-child,.steps article:last-child{padding:0}.steps h3{font-size:23px}.steps p{font-size:16px}.step-photo{margin:12px 0 18px}.step-no{font-size:13px}
 .product-grid{grid-template-columns:1fr;gap:20px}.product-card{display:flex;flex-direction:column;padding:28px 24px;gap:16px}.product-card .pill{align-self:start;font-size:12px}.product-card h3,.product-card .google-card-title,.product-card .setup-plan-title{font-size:23px!important}.product-price{align-self:start;font-size:42px}.product-card .product-sub{font-size:16px}.product-card ul{font-size:15px;width:100%}.product-actions{align-self:stretch;margin-top:8px}.product-card .button{font-size:15px;min-height:54px}.product-price .price-label{font-size:14px}
 .maintenance-banner{padding:24px;gap:18px}.maintenance-banner h3{font-size:27px}.maintenance-copy{padding-top:18px}.maintenance-copy>p:first-child{font-size:15px}.order-note{font-size:14px}
 .support{grid-template-columns:1fr;gap:28px}.support-heading{padding:0}.support-heading h2{font-size:29px;line-height:1.6}.support-copy>p{font-size:16px}.profile-explainer,.tap-role{padding:24px 0;margin:20px 0}.profile-explainer h3,.tap-role h3{font-size:23px}.profile-explainer h3 br{display:none}.tap-role-flow{grid-template-columns:1fr;gap:20px}.support-steps li{grid-template-columns:80px 1fr;gap:12px;font-size:14px}.support-steps b{font-size:14px}.support-card{padding:26px}.support-card h3{font-size:26px}
 .faq summary{font-size:17px}.faq details{padding:22px 0}.faq details p{font-size:15px;margin-right:10px}.final-cta{padding:58px 20px}.final-cta h2{font-size:29px;line-height:1.6}.final-cta>p:last-child{font-size:13px}
 .line-contact{padding:48px 20px}.line-contact-inner{grid-template-columns:1fr;padding:28px 22px;gap:24px}.line-brand-logo{width:230px;max-width:100%;height:62px}.line-contact h2{font-size:24px;line-height:1.7}.line-contact h2 .line-heading-secondary{font-size:19px;line-height:1.7}.line-qr-card{width:200px;padding:8px}.line-contact-copy>p:not(.line-contact-label){font-size:15px}.line-contact-note{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
