/* Shared mobile hero rhythm. Height follows content instead of the viewport. */
@media(max-width:800px){
 :root{--mobile-hero-title:clamp(36px,10.4vw,48px);--mobile-hero-space:24px}
 .page-hero{height:auto;min-height:0;max-height:none;padding:28px var(--pad) 38px}
 .page-hero .breadcrumbs{margin:0 0 var(--mobile-hero-space);gap:6px 9px;max-width:100%;font-size:11px;line-height:1.55}
 .page-hero .label{margin:0 0 18px;max-width:100%;font-size:10px;letter-spacing:.08em;line-height:1.5}
 .page-hero .hero-row{display:block}
 .page-hero h1{font-size:var(--mobile-hero-title);line-height:1.06;letter-spacing:-.055em;max-width:100%;width:100%;margin:0}
 .page-hero .lead{font-size:16px;line-height:1.5;max-width:100%;margin:var(--mobile-hero-space) 0 0}
 .service-cover,.index-cover{display:block;height:auto;min-height:0;max-height:none;padding:104px var(--pad) 40px}
 .service-cover .cover-content,.index-cover .cover-content{display:block;min-height:0;height:auto;width:100%;padding:0}
 .service-cover h1,.index-cover h1{font-size:var(--mobile-hero-title);line-height:1.06;max-width:100%}
 .service-cover .lead,.index-cover .lead{font-size:16px;line-height:1.5;max-width:100%;margin-top:var(--mobile-hero-space)}
 .service-cover .cover-btn{margin-top:var(--mobile-hero-space);font-size:13px;line-height:1.3;min-height:48px;padding:12px 17px}
 .service-cover-art,.index-cover .service-cover-art{object-position:66% center}
 .homepage .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;row-gap:20px;height:auto;min-height:0;max-height:none;padding:104px var(--pad) 30px}
 .homepage .hero .hero-top{grid-column:1;grid-row:1;align-items:start}
 .homepage .hero .hero-top .label{font-size:9px;line-height:1.6;max-width:100%}
 .homepage .hero h1{grid-column:1;grid-row:2;font-size:clamp(48px,15vw,68px);line-height:.92;max-width:100%;width:100%;margin:0}
 .homepage .hero h1 .outline-text{margin-left:8vw}
 .homepage .hero h1 .final-line{font-size:.68em;line-height:1.15;margin-top:5px;white-space:nowrap}
 .homepage .hero .hero-bottom{grid-column:1;grid-row:3;display:block;margin:0;padding:104px 0 0}
 .homepage .hero-bottom p{font-size:15px;line-height:1.5;max-width:100%;margin:0 0 20px}
 .homepage .hero .hero-note{position:relative;grid-column:1;grid-row:3;justify-self:end;align-self:start;inset:auto;margin:12px 0 0;width:92px;height:74px;font-size:7px;line-height:1.35;transform:rotate(-4deg)}
 .homepage .hero .hero-note strong{font-size:29px;margin-bottom:3px}
 .homepage .hero-art{inset:0;object-position:56% center;width:100%;height:100%;mask-image:none;translate:none}
 .homepage .hero:after{background:linear-gradient(90deg,#101820b8,#10182014),linear-gradient(0deg,#101820 0%,#101820d9 28%,transparent 66%,#10182060 100%)}
 .homepage .hero-actions{display:flex;flex-wrap:nowrap;gap:10px;margin:0;align-items:stretch;justify-content:flex-start}
 .homepage .hero .hero-actions .btn{width:auto;min-width:0;min-height:48px;font-size:12px;line-height:1.3;padding:12px 13px;gap:9px;white-space:nowrap}
 .homepage .hero-actions .btn:first-child{flex:0 1 auto}
 .homepage .hero .hero-actions .whatsapp{flex:0 0 auto;gap:7px}
 .homepage .hero-actions .btn .arrow{font-size:20px}
 .homepage .hero .hero-actions .whatsapp .arrow{display:none}
 .homepage .hero .whatsapp svg{width:19px;height:19px}
 .homepage .hero-scroll{display:none}
 /* Three full service icons plus a partial fourth invite a native touch swipe. */
 .homepage .discipline-strip{display:block;padding:22px 0;overflow:hidden}
 .homepage .discipline-label{display:none}
 .homepage .discipline-items{display:flex;width:100%;gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 var(--pad);scroll-snap-type:x proximity;scroll-padding-inline:var(--pad);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .homepage .discipline-items::-webkit-scrollbar{display:none}
 .homepage .discipline-items a{flex:0 0 calc((100% - 32px)/3.35);min-width:0;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;font-size:11px;line-height:1.3;scroll-snap-align:start;translate:none}
 .homepage .discipline-items svg{width:31px;height:31px;flex:none}
 .homepage .discipline-items a:focus-visible{outline-offset:-2px}
}
@media(min-width:601px) and (max-width:800px){
 .homepage .hero{padding-top:112px}
 .homepage .hero h1{font-size:78px;max-width:90%}
 .homepage .hero .hero-bottom{padding-top:104px;display:flex;align-items:end;gap:30px;justify-content:space-between}
 .homepage .hero-bottom p{max-width:330px;margin:0}
 .homepage .hero .hero-note{width:100px;height:82px}
 .homepage .hero-actions{flex-wrap:wrap;justify-content:flex-end;max-width:300px}
 .homepage .discipline-items a{flex-basis:calc((100% - 44px)/3.35);font-size:12px}
}
