/* Shared navigation and small-screen usability. */
.gb-menu-toggle{display:none}
.gb-mobile-dialog{border:0;background:#0f140f;color:#edeae0;padding:24px;width:min(100%,480px);height:100%;max-height:100dvh;max-width:100vw;margin:0 0 0 auto;overflow-y:auto;overscroll-behavior:contain}
.gb-mobile-dialog::backdrop{background:rgba(0,0,0,.65)}
.gb-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-family:Archivo,sans-serif;font-weight:700}
.gb-menu-close,.gb-menu-toggle{font:700 14px Archivo,sans-serif;border:1px solid rgba(237,234,224,.5);border-radius:8px;color:#fff;background:#2a4036;min-height:44px;padding:10px 14px;cursor:pointer}
.gb-menu-close span{font-size:22px;margin-left:8px}
.gb-mobile-dialog nav{display:grid;gap:4px}
.gb-mobile-dialog nav>a,.gb-mobile-dialog summary{display:block;min-height:48px;padding:14px 12px;font:600 17px Archivo,sans-serif;color:#edeae0;cursor:pointer;border-bottom:1px solid rgba(237,234,224,.16);text-decoration:none}
.gb-mobile-dialog summary{display:list-item;list-style-position:inside}
.gb-mobile-dialog details>a{display:block;padding:14px 24px;min-height:48px;color:#edeae0;font:500 16px Inter,sans-serif;text-decoration:none}
.gb-mobile-dialog a.gb-mobile-cta{background:#b8be92;color:#0f140f;border-radius:8px;margin-top:16px;text-align:center}
.gb-menu-open{overflow:hidden}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #889657;outline-offset:4px}
.form-placeholder a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
 header.sitenav .menu,header.navx .menu{display:none!important}
 header.sitenav .inner,header.navx .wrap{height:76px;gap:12px;padding-left:20px;padding-right:20px}
 header .logo{order:0;margin-right:auto;flex-shrink:0}
 header.sitenav .logo img,header.navx .logo img{height:36px;width:auto}
 header .nav-cta{order:1;margin-left:0}
 header .nav-cta a{display:inline-flex;align-items:center;min-height:44px;padding:12px 16px;font-size:12px}
 .gb-menu-toggle{display:inline-flex;align-items:center;gap:10px;order:2;flex-shrink:0}
}
@media(max-width:600px){
 header .nav-cta{display:none!important}
 .wrap{padding-left:20px;padding-right:20px}
 .cta-badge{padding:32px 20px;max-width:100%}
 .cta-badge h2{overflow-wrap:break-word;font-size:clamp(1.8rem,8vw,2.6rem)}
 .models-top{gap:16px;align-items:flex-start}
 .models-arrows{flex-shrink:0}
 .btn{white-space:normal;text-align:center;justify-content:center;min-height:44px}
 .cta-row,.hero-actions{flex-wrap:wrap}
 input,select,textarea{font-size:16px!important}
 .form-shell{padding:24px 20px}
 .quick-card{padding:24px}
 footer ul a{display:inline-flex;align-items:center;min-height:44px}
 footer ul{gap:2px}
 .fp-note{color:#c9cea8}
}
@media(prefers-reduced-motion:reduce){
 html,.models-strip{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
img{height:auto}
footer img.flogo{width:auto;max-width:100%}
@media(max-width:900px){
 .process-row{grid-template-columns:1fr;gap:44px}
 .parrow{display:none}
 .pstep-img{width:150px;height:150px}
}
@media(max-width:600px){
 .fgrid{grid-template-columns:minmax(0,1fr)}
 .fgrid>*{min-width:0}
 footer .contactline a{overflow-wrap:anywhere}
 .model-hero .hero-copy{width:100%;min-width:0;padding-left:20px;padding-right:20px}
 .hero-copy h1{font-size:clamp(2.2rem,9vw,2.8rem);overflow-wrap:break-word}
}
/* Final portrait logo keeps its original proportions. */
footer img.flogo{width:120px;height:auto;max-width:100%}
