/* 3.3: separate wide-screen and narrow-screen layout refinements. */
.s-editorial-panel{align-items:center}
.s-editorial-visual{align-self:center;padding:16px 16px 0 0}
.s-editorial-image{flex:none;min-height:0;aspect-ratio:4/3}
.s-editorial-visual--portrait .s-editorial-image{aspect-ratio:4/5}
.s-editorial-visual figcaption{padding:17px 0;min-height:88px}
.s-editorial-copy{padding-block:40px}
.s-editorial-route{align-self:stretch}
.s-contact-grid,.s-contact-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.s-contact-card,.s-contact-strip__grid>div{min-width:0;padding:28px}
.s-contact-card a,.s-contact-strip a{font-size:18px;line-height:1.6;max-width:100%}
.s-contact-card a[href^="mailto:"],.s-contact-strip a[href^="mailto:"]{font-size:16px}
.s-steps{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:8px}
.s-step{min-height:158px;padding:24px}
.s-step b{margin-bottom:25px}
.s-service-card--photo{min-height:0}
.s-service-card--photo>.s-text-link{display:flex;align-items:center;min-height:44px;align-self:flex-start}
.s-subservice-list a{padding-block:5px;line-height:1.6}
.s-bullet-grid article{grid-template-columns:42px minmax(0,1fr)}
.s-editorial-location,.s-editorial-visual figcaption>div,.s-contact-mini{min-width:0}
.s-faq summary{min-height:72px;align-items:flex-start;gap:24px;padding:22px 2px;font-size:17px;line-height:1.55}
.s-faq summary>span{flex:1;min-width:0}
.s-faq summary b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;font-size:25px;line-height:1;transform:rotate(0);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.s-faq details[data-expanded="true"] summary b{transform:rotate(45deg)}
.s-faq details[data-expanded="false"] summary b{transform:rotate(0)}
.s-faq details>.s-faq__answer{padding:0 54px 24px 2px;line-height:1.8}
.s-faq details>.s-faq__answer p{font-size:16px;line-height:1.8}
.s-faq summary:hover>span{color:#806337}
.s-dark .s-faq summary:hover>span{color:#e2c985!important}
.s-faq summary:focus-visible{outline-offset:-3px!important;border-radius:3px}
.s-sticky-subnav{scrollbar-width:thin;scrollbar-color:#c1b497 transparent}
.s-sticky-subnav .s-shell{padding-bottom:8px}
.s-sticky-subnav a[aria-current="location"]{color:#7e5e27!important;box-shadow:inset 0 -2px #a5864b}
.s-editorial-hero .s-breadcrumbs{column-gap:8px;row-gap:5px}
.s-editorial-hero .s-breadcrumbs a{padding-block:4px}
.s-filter-chips button{min-height:44px}
body.smartoo-site .s-btn>span{color:inherit!important}
.s-mobile-nav.is-open{max-height:calc(100vh - var(--s-header-height) - 70px);max-height:calc(100dvh - var(--s-header-height) - 70px - env(safe-area-inset-bottom,0px))}

/* Desktop: avoid narrow cards at laptop widths and oversized text blocks. */
@media(min-width:1101px) and (max-width:1279px){
 .s-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .s-direction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .s-team-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:901px){
 .s-consult__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,4vw,58px)}
 .s-consult__grid>div{max-width:490px}
 .s-form{padding:30px;border-radius:10px}
 .s-form textarea{min-height:145px}
 .s-section-head{margin-bottom:34px}
 .s-service-layout .s-section-head{max-width:850px}
 .s-footer-premium-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(0,1fr)}
 .s-footer-bottom-premium{grid-template-columns:minmax(0,.95fr) minmax(0,1.65fr) minmax(0,1fr)}
}

/* Tablets and phones: preserve room for whole words instead of shrinking columns. */
@media(max-width:900px){
 .s-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .s-contact-card,.s-contact-strip__grid>div{padding:24px}
 .s-consult__grid{gap:26px}
 .s-consult__grid>div{max-width:700px}
 .s-editorial-copy{padding-block:30px}
}
@media(max-width:800px){
 .s-editorial-visual{padding:0 14px;width:100%}
 .s-editorial-image{aspect-ratio:3/2}
 .s-editorial-visual--portrait .s-editorial-image{aspect-ratio:4/3}
 .s-editorial-visual figcaption{min-height:78px}
}
@media(max-width:760px){
 .s-direction-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .s-direction.s-direction--photo{grid-template-columns:120px minmax(0,1fr)}
 .s-direction__body{padding:19px 22px}
 .s-legal-aside ol{grid-template-columns:minmax(0,1fr)}
 .s-legal-aside li a{font-size:13px;grid-template-columns:23px minmax(0,1fr);gap:10px;padding-block:12px}
 .s-legal-aside li a span{font-size:10px}
}
@media(max-width:700px){
 .s-contact-grid,.s-contact-strip__grid{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media(max-width:620px){
 .s-editorial-copy{padding:26px 22px}
 .s-editorial-visual{padding-inline:10px}
 .s-editorial-visual figcaption{padding:15px 4px}
 .s-editorial-image{aspect-ratio:3/2}
 .s-faq summary{font-size:16px;line-height:1.55;gap:16px;padding-block:20px;min-height:68px}
 .s-faq summary b{flex-basis:24px;width:24px;height:26px;font-size:23px}
 .s-faq details>.s-faq__answer{padding:0 2px 22px}
 .s-faq details>.s-faq__answer p{font-size:15px;line-height:1.75}
 .s-step{padding:20px;min-height:135px}
 .s-step b{margin-bottom:18px}
 body.smartoo-site .s-step h3{font-size:20px!important}
 .s-bullet-grid article{grid-template-columns:30px minmax(0,1fr);gap:13px;padding:18px}
 .s-bullet-grid b{width:30px;height:30px;font-size:10px}
 .s-bullet-grid p{font-size:14px!important;line-height:1.75!important}
 .s-form{border-radius:8px;padding:22px 18px}
 .s-form__row{grid-template-columns:minmax(0,1fr);gap:0}
 .s-form label{font-size:13px;margin-bottom:18px}
 .s-form textarea{min-height:144px}
 .s-form input[type=file]{font-size:12px!important}
 .s-file{padding:13px 11px}
 .s-file input::file-selector-button{max-width:100%;margin-right:9px;padding:9px 12px;border:1px solid #ac9c7e;border-radius:4px;background:#eee5d3;color:#222d25;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4}
 .s-check{gap:9px}
 .s-check span{font-size:12px!important;line-height:1.7}
 .s-contact-mini a{font-size:16px}
 .s-contact-card,.s-contact-strip__grid>div{padding:23px}
 .s-contact-card a,.s-contact-strip a{font-size:17px}
 .s-contact-card a[href^="mailto:"],.s-contact-strip a[href^="mailto:"]{font-size:15px}
 .s-editorial-route>span{padding-block:11px}
 .s-footer-bottom-premium nav a{padding-block:6px}
 .s-footer-bottom-premium nav{gap:2px}
 .s-footer-credit{padding-block:5px}
}
@media(max-width:420px){
 .s-direction.s-direction--photo{grid-template-columns:82px minmax(0,1fr)}
 .s-direction__body{padding:16px 14px}
 body.smartoo-site .s-direction--photo h3{font-size:21px!important}
 .s-steps{grid-template-columns:minmax(0,1fr)}
 .s-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px 16px;align-items:start;min-height:0;padding:19px}
 .s-step b{grid-column:1;grid-row:1/span 2;margin:3px 0 0;line-height:1.5}
 .s-step h3,.s-step p{grid-column:2}
 .s-step p{margin:0!important;font-size:14px!important;line-height:1.7!important}
 .s-step p:empty{display:none}
 .s-editorial-copy{padding:24px 18px}
 .s-editorial-location{font-size:9px;letter-spacing:0}
 .s-source-process-card.s-source-process-card--photo{grid-template-columns:74px minmax(0,1fr)}
 .s-source-process-card--photo>div{padding:18px 14px}
 .s-legal-intro p,.s-legal-clause p{font-size:14px!important;line-height:1.85!important}
 .s-contact-mini a{font-size:15px}
 .s-bullet-grid article{grid-template-columns:minmax(0,1fr);gap:12px}
 .s-bullet-grid b{width:26px;height:26px}
}
@media(prefers-reduced-motion:reduce){.s-faq summary b{transition:none!important}}
