/* v54: explicit responsive rules, shared by home and public subpages. */
:root{--ot-visible-height:100dvh}
*,*::before,*::after{box-sizing:border-box}
.story-grid>*,.conversion-grid>*,.about-card>*,.form-row>*,.content-grid>*{min-width:0}
.hero h1,.hero-copy,.about-copy,.copy,.rich,.service-hero h1{overflow-wrap:anywhere}
.btn{max-width:100%;white-space:normal;text-align:center}
.inquiry-dialog,.ot-fix-dialog{max-height:calc(var(--ot-visible-height,100dvh) - 24px)!important;overflow:auto!important}
.chat-panel{max-height:calc(var(--ot-visible-height,100dvh) - 100px);width:min(380px,calc(100% - 28px));right:14px}
.chat-panel input{min-width:0}.chat-panel>*{min-height:0}
.copy img,.rich img,.cms-section-image{max-width:100%;height:auto}
.copy pre,.rich pre{white-space:pre-wrap;overflow-wrap:anywhere}
.copy table,.rich table{display:block;max-width:100%;overflow:auto}
@media(max-width:1100px){
 .story-grid,.conversion-grid{grid-template-columns:minmax(0,1fr)!important}
 .service-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .nav-wrap{gap:12px!important}.main-nav{gap:14px!important}
}
@media(max-width:1024px){
 .nav-wrap{position:relative;height:auto!important;min-height:72px;flex-wrap:wrap;padding-block:10px}
 .brand-lockup{min-width:0}.partner-logo,.partner-divider{display:none!important}
 .menu-btn{display:flex!important;align-items:center;justify-content:center;margin-left:auto;min-width:44px;min-height:44px}
 .nav-wrap>.search-link,.nav-wrap>.btn-small{display:none!important}
 .main-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;margin:0!important;background:#fff;padding:12px 18px!important;flex-direction:column;align-items:stretch!important;max-height:calc(var(--ot-visible-height) - 110px);overflow-y:auto;z-index:100}
 .main-nav.open{display:flex!important}.main-nav a{padding:12px 4px!important;min-height:44px}
 #rolam .about-card{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;gap:20px}
 #rolam .about-photo{width:100%!important;height:clamp(260px,65vw,420px)!important;min-height:0!important;max-height:none!important;background-size:cover!important}
 #rolam .about-copy{width:100%;min-width:0;padding:0!important}
}
@media(max-width:760px){
 .container{width:calc(100% - 28px)!important;max-width:100%;min-width:0}
 .hero[data-cms-section="hero"]{height:auto!important;min-height:0!important;padding:48px 0!important;align-items:flex-start!important}
 .hero[data-cms-section="hero"] .hero-content{width:calc(100% - 28px)!important;min-width:0;max-width:100%;margin:auto;flex:0 1 auto}
 .hero[data-cms-section="hero"] h1{font-size:clamp(32px,8.5vw,44px)!important;line-height:1.12!important;max-width:100%!important;white-space:normal!important}
 .hero[data-cms-section="hero"] .hero-copy{font-size:16px!important;line-height:1.6;max-width:100%!important}
 .hero[data-cms-section="hero"] .hero-actions{flex-direction:column!important;align-items:flex-start!important;gap:12px;height:auto!important}
 .hero[data-cms-section="hero"] .hero-actions .btn{flex:0 0 auto!important;align-self:flex-start!important;width:fit-content!important;height:auto!important;min-height:46px!important;padding:13px 22px!important;border-radius:999px!important;font-size:14px!important;line-height:1.45!important;white-space:normal!important}
 .section-title-row{flex-wrap:wrap;gap:10px}.service-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .newsletter-card,.newsletter-input,.form-row{grid-template-columns:minmax(0,1fr)!important}
 .newsletter-content{padding:22px;min-width:0}.newsletter-input input{width:100%;min-width:0;font-size:16px}
 .newsletter-photo{height:180px!important;min-height:0!important}
 .offer-card{padding:28px 22px!important}.offer-card .stamp,.offer-card> .offer-icon{display:none}
 .turkey-content{width:100%!important;padding:28px 22px!important}
 .btn,.campaign-popup-cta{min-height:44px;overflow-wrap:anywhere}
 .inquiry-dialog{width:calc(100% - 20px)!important;padding:24px 18px!important}
 input,select,textarea{font-size:16px!important;max-width:100%}
 .about-copy p{font-size:16px!important;line-height:1.65}
 .about-page .about-layout,.content-grid{grid-template-columns:minmax(0,1fr)!important}
 .side-card{position:static!important}.service-hero h1{font-size:clamp(32px,9vw,46px)!important}
 .blog-page main,.content-page main{width:calc(100% - 24px)!important;padding:20px!important;margin:20px auto!important;min-width:0}
 .blog-page .copy,.content-page .copy{font-size:16px;overflow-wrap:anywhere}
 .ot-public-header .ot-public-menu{max-height:calc(var(--ot-visible-height) - 110px)}
}
@media(max-width:360px){.partners-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
