/* Layout-only integration. Official image bytes and supplied copy are preserved. */
.hero-grid{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
.hero-grid>*,.grid-2>*,.grid-3>*{min-width:0}
.approved-visual{margin:0;min-width:0;display:flex;align-items:center;justify-content:center}
.approved-visual img{width:100%;height:auto;object-fit:contain}
/* TOP HERO refinement: retain approved artwork and existing CTA destinations. */
.home-hero{padding-top:50px}
.home-hero .hero-subcopy span{display:inline-block;white-space:nowrap}
.home-hero .hero-actions .btn{white-space:nowrap}
@media(min-width:901px){.home-hero .approved-visual{transform:translateY(-24px)}}
@media(max-width:900px){.home-hero{padding-top:33px}}
.logo{flex-shrink:0}.logo img{width:160px;height:auto}
.mobile-navigation{display:none}
a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.company-table{overflow-x:auto}.company-table table{border-collapse:collapse;width:100%;text-align:left;margin-top:30px}
.company-table th,.company-table td{border-bottom:1px solid var(--border);padding:16px;vertical-align:top}
.company-table th{width:28%;min-width:130px}.legacy-content h3{margin-top:32px}
.legacy-content li{margin-block:12px}input,textarea,button{font:inherit}
button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.mobile-navigation{display:block;margin-left:auto}.mobile-navigation summary{cursor:pointer;min-height:44px;padding:10px}.mobile-links{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;background:white;border-bottom:1px solid var(--border);padding:16px 24px;max-height:65dvh;overflow:auto}.mobile-links a{padding:10px}.header-inner{gap:12px}.header-inner>.btn{display:none}.approved-visual img{max-height:none}}
@media(max-width:600px){h1{font-size:clamp(2.15rem,9vw,3.2rem);line-height:1.35}h2{font-size:clamp(1.65rem,7vw,2.3rem);line-height:1.45}.company-table th,.company-table td{padding:12px 8px}.logo img{width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Approved TOP: typography and CTA breathing room only. */
.home-philosophy .grid-2>div:first-child{container-type:inline-size}
.home-philosophy h2{font-size:min(clamp(2.1rem,4vw,3.5rem),7.4cqi)}
.home-philosophy h2 span,.growth-heading span{display:inline-block;white-space:nowrap}
.home-hero p:not(.eyebrow):not(.lead),.home-philosophy p:not(.section-label):not(.lead),.home-services .card p{font-size:calc(1rem + 2px)}
.home-hero .lead,.home-philosophy .lead{font-size:clamp(calc(1.12rem + 2px),calc(1.7vw + 2px),calc(1.35rem + 2px))}
.home-vision .flow{font-size:calc(1rem + 2px)}
.home-vision .flow span{white-space:nowrap}
.home-final-cta{padding-bottom:calc(136px + env(safe-area-inset-bottom,0px))}
.home-final-cta .section-actions{padding-bottom:8px}
@media(max-width:900px){.home-final-cta{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}
@media(max-width:600px){.home-final-cta{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
/* About: official portraits, concise overviews and retained expandable records. */
.about-character{height:240px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.chief-introduction{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:48px;align-items:start;margin-top:24px}
.chief-portrait{margin:0}
.chief-portrait img{width:100%;height:auto;object-fit:contain}
.chief-portrait figcaption{margin-top:14px;color:var(--muted);font-size:.95rem}
.chief-message{min-width:0}
.chief-message h2{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.5;margin-top:0;margin-bottom:24px}
.chief-message-copy{font-size:1.125rem;margin-bottom:28px}
.chief-message .grid-3{gap:12px}
.chief-message .card{padding:18px}
.chief-message .card h3{font-size:1.1rem}
.chief-message .card p{font-size:.95rem;margin-bottom:0}
@media(max-width:900px){.chief-introduction{grid-template-columns:1fr;gap:28px}.chief-portrait{width:min(100%,420px);margin-inline:auto}}
.about-character img{width:auto;height:auto;max-width:100%;max-height:240px;object-fit:contain}
.about-employee-card{text-align:center}
.official-ai-name{font-family:Georgia,"Times New Roman",serif;letter-spacing:.025em}
.character-reading{display:inline-block;font-size:.8em;font-weight:500}
.about-section h2{margin-bottom:32px}
.about-section .card h3{margin-top:0}
.about-details{margin-top:24px;border:1px solid var(--border);border-radius:16px;background:#fff}
.about-details summary{padding:20px 24px;cursor:pointer;font-weight:700;color:var(--navy)}
.about-detail-body{padding:0 24px 24px;overflow-wrap:anywhere}
.about-detail-body li{margin-block:12px}
.about-section,.about-details{scroll-margin-top:140px}
.about-history-chapter{padding:32px;margin-top:24px;border:1px solid var(--border);border-radius:var(--radius)}
.about-history-chapter h3{margin-top:0}
.about-history-chapter li{margin-block:10px}
.about-history-chapter .ski-photo{width:min(100%,420px);margin:24px 0}
.about-history-chapter .ski-photo img{width:100%;height:auto}
.about-history-chapter figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}
@media(max-width:600px){.about-character,.about-character img{max-height:200px}.about-history-chapter{padding:22px}.about-detail-body{padding:0 18px 20px}.about-details summary{padding:18px}}
/* Preserve the official mixed-case character name inside uppercase labels. */
.eyebrow .official-name { text-transform: none; }
.social-section{border-top:1px solid var(--line,#dce4ef)}
.social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:28px 0}
.social-link{display:flex;align-items:center;justify-content:center;gap:14px;min-height:88px;padding:18px;border:1px solid var(--line,#dce4ef);border-radius:12px;color:var(--navy,#142e50);text-decoration:none;font-weight:700}
.social-link img{width:46px;height:40px;object-fit:contain}
.social-link:focus-visible,.social-profile:focus-visible{outline:3px solid var(--blue,#1760ac);outline-offset:5px}
.social-profile{display:inline-block;margin-top:8px}
@media(max-width:600px){.social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.social-link{padding:14px 8px;gap:8px}.social-link img{width:37px;height:32px}}
