/* Only responsive overrides: the original desktop CSS is retained byte-for-byte. */
@media screen and (max-width:1100px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
 body{min-width:0}
 main,section,article,fieldset,.shell,.hero-copy,.hero-visual,.section-heading>*,.services-grid>*,.business-support-grid>*,.focus-support-grid>*,.contact-grid>*,.about>*,.faq>*{min-width:0}
 h1,h2,h3,h4,p,li,dd,.eyebrow,.pill,.signature,.anchor-note{overflow-wrap:anywhere}
 .js-reveal .reveal{opacity:1;transform:none}
 .button{min-height:48px;min-width:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .menu-toggle{width:48px;height:48px;min-width:48px;min-height:48px}
 .header-cta{min-width:0}
 .mobile-nav{top:auto;left:0;right:0;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;padding:16px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}
 .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:12px 4px;overflow-wrap:anywhere}
 .mobile-nav a:focus-visible{outline-offset:-3px}
 .hero-facts>a,.hero-facts>div{min-width:0;overflow-wrap:anywhere}
 .hero-facts .anchor-note{max-width:100%;margin-top:0}
 .service-feature-top{flex-wrap:wrap}
 .service-tags span,.audience-tags span{max-width:100%;overflow-wrap:anywhere}
 .project-meta,.footer-bottom,.hero-actions,.contact-local{flex-wrap:wrap}
 .text-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
 .section-top{flex-wrap:wrap;align-items:flex-start;gap:14px 24px}
 .section-top>*{min-width:0;max-width:100%}
 .pricing-controls{flex-wrap:wrap}
 .term-selector{width:min(390px,100%);min-width:0}
 .term-selector label{min-width:0;flex:1}
 .term-selector span{min-height:48px;display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;padding:10px 6px}
 .pricing-grid-three{grid-template-columns:minmax(0,1fr)}
 .pricing-card{display:flex;flex-direction:column;padding:30px;min-width:0}
 .pricing-card h3,.pricing-card .plan-description{min-height:0}
 .pricing-card .check-list{margin:26px 0;padding:22px 0 0;border-top:1px solid var(--line)}
 .pricing-card .button-wide{width:100%;align-self:stretch;margin-top:auto}
 .pricing-card .pricing-fine{margin-top:17px}
 .addon-row>*,.bundle-card,.web-price-card,.local-circle-price{min-width:0;overflow-wrap:anywhere}
 .app-price-card{grid-template-columns:minmax(0,1fr)}
 .app-price-card strong{white-space:normal;overflow-wrap:anywhere}
 .app-price-card>div:last-child{flex-direction:row;flex-wrap:wrap;align-items:center}
 .addon-group>summary,.faq-list summary,.group-scope>summary,.privacy-details summary,.login-security-info summary{min-height:48px}
 .addon-group>summary{flex-wrap:wrap;gap:12px}
 .addon-group>summary>span{min-width:0;flex:1}
 .addon-group>summary small{order:3;width:100%;margin-left:0;text-align:left}
 .addon-group>summary>b,.faq-list summary>span{flex:none}
 .faq-list summary{gap:12px}
 .about-mark{aspect-ratio:auto;min-height:240px;height:auto;max-height:none;overflow:visible}
 .about-mark>span{font-size:clamp(3.75rem,8vw,6rem);margin-left:0}
 .contact-local{gap:12px 22px}
 .contact-local a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}
 .inquiry-form input:not([type=checkbox]):not([type=radio]),.inquiry-form select,.inquiry-form textarea{font-size:16px;min-height:48px;max-width:100%}
 .inquiry-form label{max-width:100%;min-width:0}
 .interest-selector label{max-width:100%}
 .interest-selector span{min-height:44px;display:flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
 .interest-selector .term-field{width:100%;max-width:100%;margin-right:0}
 .footer-top{flex-wrap:wrap;gap:20px 32px}
 .footer-top>*{min-width:0;max-width:100%}
 .footer-top>.text-link{margin-left:0}
 .footer-bottom>span{align-self:flex-start}
 dialog{max-width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
 .dialog-inner{min-width:0}
 .dialog-close{width:48px;height:48px;right:8px;top:8px}
 .dialog-inner>.eyebrow{padding-right:38px}
 .dialog-inner pre{max-width:100%;min-width:0;overflow-x:visible;white-space:pre-wrap;overflow-wrap:anywhere}
 .dialog-actions .button{flex:1;min-width:0}
 .price-intro h1,.price-contact h2{overflow-wrap:anywhere}
 .price-downloads{flex-direction:column;align-items:flex-start;gap:24px}
 .download-buttons{max-width:100%;flex-wrap:wrap}
 .download-buttons .button{min-width:0;white-space:normal;text-align:center}
 .price-toc a,.price-archive li>a,.legal-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
 .price-meta>*{max-width:100%;overflow-wrap:anywhere}
 .price-contact{flex-wrap:wrap}
 .table-scroll{max-width:100%;overflow:visible;border-radius:0}
 .price-page table{min-width:0;width:100%;table-layout:fixed;font-size:.9375rem}
 .price-page th,.price-page td{padding:14px 10px;overflow-wrap:anywhere}
 .price-page tbody th{min-width:0}
 .price-page .price-cell,.anchor-amount,.column-date,.anchor-date{white-space:normal}
 .anchor-date{margin-inline-start:0}
 .group-scope dl{max-width:100%;padding-inline:14px 0}
 .group-scope dd{overflow-wrap:anywhere}
 .login-page .topbar{height:auto;min-height:84px;flex-wrap:wrap;gap:12px 20px;padding:16px 24px}
 .topbar .back-link{display:inline-flex;min-height:44px;align-items:center;max-width:100%;margin-left:auto}
 .login-layout,.client-account-layout{grid-template-columns:minmax(0,1fr);gap:32px;min-width:0;padding:40px 24px}
 .login-intro,.login-card,#auth-content{min-width:0;max-width:100%}
 .login-card{width:100%;max-width:640px;margin-inline:auto}
 .login-intro>p{max-width:65ch}
 .login-card input,.login-card select{width:100%;min-width:0;font-size:16px}
 .login-card .remember-choice input{width:20px;height:20px;flex:none}
 .login-card .remember-choice{min-height:44px;align-items:center}
 .login-card .auth-actions{flex-wrap:wrap}
 .auth-actions button{min-height:44px;max-width:100%;text-align:left;white-space:normal;padding-block:10px}
 .login-card .button{white-space:normal}
 .privacy-page,.privacy-document{min-width:0;overflow-wrap:anywhere}
}
/* In a split hero, prices and reference dates need separate lines. */
@media screen and (min-width:901px) and (max-width:1100px){
 .hero-facts{grid-template-columns:minmax(0,1fr)}
 .hero-facts>a,.hero-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;padding:14px 18px}
 .hero-facts>:not(:last-child){border-right:0;border-bottom:1px solid #b4a58f}
 .hero-facts .anchor-note{grid-column:1 / -1}
 .hero-facts strong{font-size:1.25rem}
 .hero-facts span{font-size:.8125rem}
}
@media screen and (max-width:900px){
 .shell,.header{width:calc(100% - 40px)}
 .header{height:auto;min-height:78px;margin-top:20px;padding:14px 16px}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto}
 .hero{grid-template-columns:minmax(0,1fr);min-height:0}
 .hero-copy{padding:34px 28px 38px}
 .hero h1{font-size:clamp(2.7rem,9.5vw,4.5rem);line-height:1.06;margin-top:25px}
 .hero-description{max-width:48ch;font-size:1rem}
 .hero-visual{border-left:0;border-top:1px solid var(--line)}
 .hero-film{flex:none;min-height:0;aspect-ratio:8 / 5}
 .hero-media video{object-fit:contain;object-position:center}
 .motion-toggle{min-height:44px;bottom:12px;right:12px;padding:10px 12px;max-width:calc(100% - 24px)}
 .hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero-facts>a,.hero-facts>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:0;padding:18px 12px}
 .hero-facts>:not(:last-child){border-bottom:0;border-right:1px solid #b4a58f}
 .hero-facts strong{font-size:1.2rem}.hero-facts span{font-size:.8125rem}
 .section-heading,.services-grid,.business-support-grid,.focus-support-grid,.about,.faq,.contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .section-heading>p,.service-row p{max-width:65ch}
 .business-support h2 br,.focus-support h2 br{display:none}
 .services-grid{gap:32px}
 .projects-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .about-mark{padding:28px;min-height:220px;gap:26px}
 .about-mark>span{font-size:clamp(3.75rem,15vw,6rem)}
 .about-mark small{margin-top:0}
 .about-copy h2{font-size:clamp(2.25rem,7vw,3rem)}
 .bundle-grid,.web-price-grid{grid-template-columns:minmax(0,1fr)}
 .app-price-card{padding:28px}
 .local-circle{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px}
 .local-circle-price{max-width:100%}
 .contact-copy h2{font-size:clamp(2.6rem,9vw,4rem)}
 .form-row{grid-template-columns:minmax(0,1fr)}
 .pricing-controls{display:block}
 .pricing-controls>p{padding-top:16px}
 .term-selector{width:100%}
 .addon-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px}
 .addon-row>div:first-child,.addon-row>strong,.addon-row>.anchor-note{grid-column:1;grid-row:auto}
 .addon-row>strong,.addon-row>.anchor-note{justify-self:start;text-align:left;margin-top:0;max-width:100%}
 .process-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .process-grid article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 18px}
 .process-grid article>span{grid-row:1 / 3}.process-grid h3{margin:0 0 10px}
 .strip-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 20px}
 .strip-content>i{display:none}.strip-content>span:nth-of-type(even){text-align:right}
 .footer-bottom{flex-direction:column;gap:14px}
}
/* Stacked price rows keep every original column readable without side scrolling. */
@media screen and (max-width:760px){
 .price-page table,.price-page tbody{display:block;width:100%;min-width:0}
 .price-page thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .price-page tbody tr{display:block;border:1px solid #e6e6e3;margin-bottom:16px;background:#fff;padding:4px 16px}
 .price-page tbody th,.price-page tbody td{display:block;width:100%;min-width:0;padding:12px 0;text-align:left;border-bottom:1px solid #e6e6e3;font-size:1rem}
 .price-page tbody th{font-weight:500;font-size:1.0625rem}
 .price-page tbody td:last-child{border-bottom:0}
 .price-page tbody td::before{content:attr(data-label);display:block;font-size:.8125rem;font-weight:400;color:var(--muted);letter-spacing:0;line-height:1.5;margin-bottom:5px}
 .price-page .anchor-cell{font-size:.9375rem}
 .anchor-date{display:block;margin-top:4px;font-size:.875rem}
 .price-page tbody th:empty,.price-page tbody td:empty{display:none}
 .price-intro h1{font-size:clamp(2.15rem,8.5vw,3rem)}
 .price-toc{gap:8px}.price-toc a{padding:10px 12px}
 .price-downloads,.price-review,.price-contact{padding:22px}
 .price-downloads h2,.price-contact h2{font-size:clamp(1.75rem,7vw,2.3rem)}
 .download-buttons{width:100%;flex-direction:column}
 .download-buttons .button{width:100%;flex:auto}
 .price-meta{flex-direction:column;gap:8px}
 .price-archive li{gap:8px 20px}
 .price-archive li>span{flex-basis:100%;overflow-wrap:anywhere}
 .hero-facts{grid-template-columns:minmax(0,1fr)}
 .hero-facts>a,.hero-facts>div{padding:16px 20px}
 .hero-facts>:not(:last-child){border-right:0;border-bottom:1px solid #b4a58f}
 .hero-facts .anchor-note{font-size:.8125rem}
 .hero-facts strong{font-size:1.35rem}
 .section-aside{text-align:left}
 .pricing-card,.bundle-card,.web-price-card{padding:26px 22px}
 .bundle-card h3,.web-price-card h3{font-size:clamp(1.65rem,7vw,2rem)}
 .service-feature{padding:26px 22px}
 .service-feature h3{font-size:clamp(1.75rem,7vw,2.1rem)}
 .local-circle{padding:24px 20px}.local-circle-price{padding:24px 20px}
 .local-circle h3{font-size:clamp(2rem,9vw,2.8rem)}
 .web-marketing-example,.channel-cost-note{padding:22px}
 .footer-top>p{text-align:left}
 .footer-top>.text-link{width:100%}
 .login-page .topbar{padding-inline:20px}
 .login-layout{padding:32px 20px;gap:28px}
 .login-intro h1{font-size:clamp(2.25rem,8vw,3.4rem)}
 .login-card{padding:26px 22px}
 .privacy-page{padding-inline:20px;margin-top:32px}
 .dialog-inner{padding:32px 20px 24px}
 .dialog-inner h2{font-size:clamp(1.8rem,7vw,2.25rem)}
 .dialog-inner pre{padding:16px}
 .dialog-actions{flex-direction:column}
 .dialog-actions .button{width:100%;flex:auto}
}
@media screen and (max-width:380px){
 .shell,.header{width:calc(100% - 32px)}
 .header{padding-inline:12px;gap:8px}
 .wordmark,.wordmark.logo-link{gap:6px}
 .wordmark .brand-name{font-size:21px}
 .wordmark .brand-symbol{flex-basis:34px;width:34px;height:34px}
 .hero-copy{padding:28px 20px 32px}
 .hero h1{font-size:clamp(2.45rem,11vw,2.8rem)}
 .hero-actions{align-items:stretch;flex-direction:column;gap:12px;width:100%}
 .hero-actions .button{width:100%}
 .section-heading h2,.audience-inner h2{font-size:clamp(2rem,10vw,2.4rem)}
 .service-row{grid-template-columns:22px minmax(0,1fr);gap:12px}
 .service-row h3{font-size:1.5rem}
 .app-price-card{padding:24px 20px}.app-price-card strong{font-size:1.8rem}
 .about-mark{padding:24px;min-height:200px}
 .login-page .topbar{padding-inline:16px;gap:8px 12px}
 .topbar .back-link{margin-left:0}
 .login-layout{padding-inline:16px}
 .login-card{padding:24px 18px}
 .price-page tbody tr{padding-inline:14px}
}
@media screen and (max-width:1100px) and (max-height:500px) and (orientation:landscape){
 .header{margin-top:12px;min-height:72px;padding-block:10px}
 .mobile-nav{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px)}
 .section{padding-block:56px}
 dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin-block:auto}
 .dialog-inner{padding-top:28px}
 .dialog-inner pre{max-height:35vh}
 .login-layout{padding-top:28px}
}
@media screen and (max-width:760px){
 .price-page tbody td:nth-child(3),.price-page tbody td:nth-child(4){text-align:left}
}
@media screen and (min-width:901px) and (max-width:1100px){
 .hero-media video{object-fit:contain;object-position:center}
}

/* Reference prices: readable on desktop and narrow phones. */
.hero-facts .anchor-note{display:block;font-size:.70rem;line-height:1.55;font-weight:400;color:#594c40;white-space:normal;overflow-wrap:break-word;margin-top:3px}
@media(max-width:900px){.hero-facts>a{min-width:0}.hero-facts .anchor-note{font-size:.78rem}}
@media(max-width:760px){.hero-facts{grid-template-columns:minmax(0,1fr)}.hero-facts>a{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:18px 20px}.hero-facts .anchor-note{margin-top:5px;font-size:.83rem}}
