/* Ali Investment Group — institutional editorial design system */
:root {
  --navy: #0d202a;
  --navy-2: #132e3b;
  --navy-3: #1c3946;
  --gold: #c4a878;
  --gold-soft: #dfc69a;
  --paper: #f7f6f2;
  --paper-2: #f0eee7;
  --white: #fffefa;
  --ink: #1c2d34;
  --muted: #6b7577;
  --line: #dcded9;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --container: 1240px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); font: 16px/1.65 var(--font-body); background: var(--paper); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { display: block; }
img { max-width: 100%; }
::selection { background: var(--gold-soft); color: var(--navy); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.container { width: min(var(--container), calc(100% - 96px)); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 1000; padding: 12px 20px; color: var(--navy); background: white; }
.skip-link:focus { top: 10px; }
.section-pad { padding-block: 114px; }
.section-title { font: normal clamp(43px, 4.5vw, 72px)/1.15 var(--font-display); letter-spacing: -2.6px; margin: 28px 0 0; color: var(--navy); }
.section-title em, .interior-hero h1 em, .hero h1 em, .banner-content em { font-weight: 400; color: #9e865d; }
.eyebrow { display: flex; align-items: center; gap: 16px; color: #90774d; font-size: 11px; letter-spacing: .21em; font-weight: 750; line-height: 1.4; }
.eyebrow-line { width: 30px; height: 1px; flex: none; background: currentColor; }
.eyebrow-light { color: var(--gold-soft); }
.arrow-icon { width: 19px; height: 19px; transition: transform .25s ease; }
.btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; min-height: 58px; padding: 15px 22px; font-size: 12px; font-weight: 720; letter-spacing: .04em; transition: background .2s, color .2s, transform .2s; }
.btn:hover { transform: translateY(-2px); }
.btn:hover .arrow-icon { transform: translateX(4px); }
.btn-gold { background: var(--gold); color: var(--navy); }
.btn-gold:hover { background: #e4c99a; }
.btn-dark { background: var(--navy); color: #fff; }
.btn-dark:hover { background: var(--navy-3); }
.text-action { display: inline-flex; align-items: center; gap: 24px; padding-bottom: 9px; border-bottom: 1px solid #8c938f; color: var(--navy); font-size: 12px; font-weight: 750; letter-spacing: .04em; }
.text-action span { font-size: 20px; line-height: 1; transition: transform .2s; }
.text-action:hover span { transform: translate(3px,-3px); }
.light-action { color: #f7f6f0; border-color: #8d9693; }
/* Navigation */
.utility-bar { background: #071720; color: #bec6c5; height: 34px; }
.utility-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; font-size: 9px; font-weight: 670; letter-spacing: .2em; }
.utility-right { color: #95a5a6; }
.utility-dot { color: var(--gold); margin: 0 12px; font-size: 9px; }
.site-header { position: relative; z-index: 80; background: #f9f8f3; border-bottom: 1px solid #e6e6df; }
.header-inner { height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 15px; color: var(--navy); min-width: 290px; }
.brand-symbol { width: 41px; height: 41px; color: #bd9e6c; }
.brand-symbol svg { width: 100%; height: 100%; }
.brand-name { display: flex; flex-direction: column; line-height: 1.2; gap: 6px; }
.brand-name strong { font-size: 13px; letter-spacing: .105em; font-weight: 760; }
.brand-name small { font-size: 8px; letter-spacing: .27em; color: #757b7c; font-weight: 650; }
.main-nav { display: flex; align-items: center; gap: clamp(18px,2.3vw,34px); }
.main-nav a { position: relative; color: #4a595e; font-size: 12px; font-weight: 670; padding: 14px 0; white-space: nowrap; }
.main-nav a::after { content: ''; position: absolute; bottom: 5px; left: 0; width: 0; height: 1px; background: #ac8d5f; transition: width .2s; }
.main-nav a:hover, .main-nav a[aria-current=page] { color: #967647; }
.main-nav a:hover::after, .main-nav a[aria-current=page]::after { width: 100%; }
.menu-toggle { display: none; background: none; border: 0; padding: 12px 4px; width: 36px; }
.menu-toggle span { display: block; height: 2px; background: var(--navy); margin-block: 5px; transition: transform .2s, opacity .2s; }
/* Home hero */
.hero { background: var(--navy); position: relative; overflow: hidden; color: white; }
.hero-grain { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 60% 90% at 92% 50%, #2d4a543b, transparent 80%), repeating-linear-gradient(90deg, transparent 0 92px, #ffffff04 93px 94px); }
.home-hero-grid { min-height: 670px; position: relative; display: grid; grid-template-columns: 1.04fr 1fr; align-items: center; gap: 50px; }
.hero-copy { position: relative; z-index: 2; padding-block: 75px 80px; }
.home-hero h1 { font: normal clamp(68px,6.4vw,104px)/1.03 var(--font-display); letter-spacing: -4.5px; max-width: 750px; margin: 32px 0 24px; }
.home-hero h1 em { color: var(--gold-soft); }
.gold-stop { color: var(--gold); }
.hero-description { max-width: 485px; color: #bec8c8; font-size: 16px; line-height: 1.9; margin: 0; }
.hero-actions { margin-top: 42px; display: flex; align-items: center; gap: 32px; }
.hero-illustration { position: relative; align-self: center; height: min(515px, 42vw); min-height: 385px; display: grid; place-items: center; color: #ddd8c6; }
.hero-illustration::before { content: ''; position: absolute; inset: 3%; border: 1px solid #c2ad8152; transform: rotate(16deg); opacity: .33; }
.orbit { position: absolute; border: 1px solid #bcb69c44; border-radius: 50%; }
.orbit-outer { width: 95%; aspect-ratio: 1; }
.orbit-inner { width: 65%; aspect-ratio: 1; border-color: #c6b58b66; }
.orbit-inner::after { content:''; position:absolute; inset: 8%; border-radius: 50%; border: 1px dashed #c5b18b4a; }
.vertical-rule { position: absolute; width: 1px; height: 90%; background: linear-gradient(transparent, #a6a18744, transparent); }
.horizontal-rule { position: absolute; height: 1px; width: 95%; background: linear-gradient(90deg, transparent, #a6a18744, transparent); }
.hero-monogram { position: relative; z-index: 1; font: 500 clamp(112px, 13vw, 220px)/1 var(--font-display); letter-spacing: -.14em; transform: translateX(-.06em); color: #d4c59f; text-shadow: 0 20px 90px #c6aa7540; }
.hero-monogram span { color: #a58f6a; }
.orbit-mark { position: absolute; z-index: 1; width: 80px; height: 80px; background: var(--navy); border: 1px solid #b3a17d88; border-radius: 50%; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 1px; font: 30px/1 var(--font-display); color: #e4d3ab; }
.orbit-mark span { font: 8px var(--font-body); letter-spacing: .16em; color: #b7bbb1; }
.top-mark { top: 4%; right: 4%; }
.bottom-mark { bottom: 4%; left: 2%; }
.orbit-note { position: absolute; right: 0; bottom: 5%; font-size: 9px; letter-spacing: .21em; color: #adb8b7; line-height: 2; }
.orbit-cross { position:absolute; color: var(--gold); font-size: 22px; font-weight: 200; }
.cross-one { top: 7%; left: 12%; }
.cross-two { bottom: 15%; right: 14%; }
.hero-bottom { position: relative; z-index: 2; border-top: 1px solid #e5dfcd30; min-height: 66px; display: flex; align-items: center; justify-content: space-between; color: #a6b1b0; letter-spacing: .19em; font-size: 9px; font-weight: 700; }
.scroll-indicator { display: flex; align-items: center; gap: 15px; }
.scroll-indicator i { display: block; width: 27px; height: 1px; background: #c5ad84; }
/* Intro */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 105px; }
.intro-section { background: var(--paper); }
.intro-right { padding-top: 45px; max-width: 510px; }
.lead { color: #263c44; font: normal clamp(24px,2.35vw,34px)/1.48 var(--font-display); margin: 0 0 26px; letter-spacing: -.6px; }
.intro-right > p:not(.lead), .about-intro-grid > div > p:not(.lead), .contact-description > p { color: #617076; font-size: 15px; line-height: 1.95; }
.intro-right .text-action { margin-top: 22px; }
/* Divisions */
.companies-section { background: var(--paper-2); }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 48px; }
.section-heading-row > p { max-width: 310px; margin: 0 0 10px; color: #667278; font-size: 14px; line-height: 1.85; }
.division-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.division-card { min-height: 300px; background: #fafaf7; border: 1px solid #e0dfd8; padding: 28px 29px 26px; display: flex; flex-direction: column; justify-content: space-between; transition: background .28s ease, transform .28s ease, box-shadow .28s ease; }
.division-card:hover { background: #fffefa; transform: translateY(-4px); box-shadow: 0 18px 35px #12263210; }
.division-top { display: flex; justify-content: space-between; align-items: center; color: #8c866f; font-weight: 750; font-size: 9px; letter-spacing: .145em; }
.division-arrow { color: #8e8c7f; font-size: 20px; font-weight: 400; line-height: 1; }
.division-mark { font: normal 86px/1 var(--font-display); color: #c5bda9; letter-spacing: -.1em; padding-block: 20px 10px; }
.division-mark span { color: #a3885c; }
.division-bottom h3 { margin: 0 0 5px; font: normal 26px/1.2 var(--font-display); letter-spacing: -.6px; }
.division-bottom p { margin: 0; max-width: 310px; font-size: 13px; line-height: 1.7; color: #69767a; }
.division-summary { position: relative; background: var(--navy); color: #fff; padding: 0; border-color: var(--navy); overflow: hidden; }
.division-summary:hover { background: var(--navy-3); }
.summary-rule { position: absolute; right: -60px; top: -100px; width: 270px; height: 270px; border: 1px solid #c0ad8350; border-radius: 50%; box-shadow: 0 0 0 45px #ffffff05, 0 0 0 90px #ffffff05; }
.summary-content { padding: 36px 30px 25px; display: flex; flex-direction: column; align-items: start; justify-content: space-between; min-height: 300px; position: relative; }
.eyebrow-inverse { font-size: 10px; color: var(--gold-soft); letter-spacing: .21em; }
.summary-content h3 { font: normal 35px/1.18 var(--font-display); letter-spacing: -1px; }
.round-link { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #bdb7a355; border-radius: 50%; color: var(--gold); }
/* Philosophy */
.philosophy-section { background: var(--navy); color: #fff; }
.philosophy-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; }
.light-title { color: #fff; }
.light-title em { color: var(--gold-soft); }
.philosophy-left .text-action { margin-top: 48px; }
.principle-list { border-top: 1px solid #e9e4d33a; }
.principle { display: grid; grid-template-columns: 50px 1fr; gap: 24px; padding-block: 31px; border-bottom: 1px solid #e9e4d33a; }
.principle > span { font: 20px var(--font-display); color: var(--gold); }
.principle h3 { margin: 0; font: normal 26px/1.2 var(--font-display); }
.principle p { margin: 12px 0 0; font-size: 14px; line-height: 1.9; color: #b6c2c3; }
/* Closing */
.closing-cta { background: #eceae2; }
.closing-row { display: flex; gap: 65px; align-items: end; justify-content: space-between; }
.closing-action { max-width: 320px; padding-bottom: 4px; }
.closing-action p { margin: 0 0 25px; font-size: 14px; line-height: 1.85; color: #657174; }
/* Interior header */
.interior-hero { background: var(--navy); color: #fff; position: relative; overflow: hidden; }
.interior-hero::after { content: ''; width: 690px; height: 690px; border: 1px solid #cbb98a2d; border-radius: 50%; position: absolute; right: -245px; top: -260px; box-shadow: 0 0 0 115px #ddd2aa07, 0 0 0 235px #ddd2aa05; pointer-events: none; }
.interior-grid { min-height: 380px; display: grid; grid-template-columns: 1.4fr .55fr; gap: 65px; align-items: end; padding-block: 92px 77px; position: relative; z-index: 1; }
.interior-hero h1 { font: normal clamp(52px,5vw,82px)/1.13 var(--font-display); letter-spacing: -2.9px; margin: 32px 0 0; }
.interior-hero h1 em { color: var(--gold-soft); }
.interior-side { border-top: 1px solid #aaaeab59; padding-top: 22px; }
.interior-side span { color: var(--gold-soft); font-size: 10px; letter-spacing: .16em; font-weight: 760; }
.interior-side p { font: 14px/1.95 var(--font-body); color: #c4cecd; margin: 18px 0 0; }
/* About */
.about-intro-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 110px; }
.about-intro-grid > div > p:not(.lead) { margin-top: 22px; }
.values-section { background: var(--paper-2); }
.values-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.value-card { background: #faf9f5; padding: 36px 28px 32px; min-height: 310px; border-top: 2px solid #bca174; }
.value-index { font: 44px/1 var(--font-display); color: #bda87f; }
.value-card h3 { margin: 60px 0 16px; font: 26px/1.2 var(--font-display); letter-spacing: -.5px; }
.value-card p { margin: 0; color: #68777a; line-height: 1.8; font-size: 13px; }
.statement-section { background: var(--navy-2); color: white; }
.statement-layout { max-width: 970px; }
.statement-layout blockquote { margin: 34px 0 26px; font: normal clamp(34px,4vw,61px)/1.34 var(--font-display); letter-spacing: -1.8px; }
.statement-layout blockquote em { color: var(--gold-soft); }
.statement-layout > p { color: #9caeae; font-size: 12px; letter-spacing: .06em; }
/* Companies */
.companies-intro { background: #eae9e1; border-bottom: 1px solid var(--line); }
.division-index-label { display: flex; justify-content: space-between; padding-top: 29px; font-size: 10px; color: #887653; font-weight: 740; letter-spacing: .15em; }
.division-index-label span { font-size: 17px; }
.division-index { display: grid; grid-template-columns: repeat(5,1fr); padding: 22px 0 35px; gap: 20px; }
.division-index a { font-size: 12px; font-weight: 710; color: #35474a; white-space: nowrap; }
.division-index a span { display: block; color: #9a845f; letter-spacing: .12em; font-size: 10px; margin-bottom: 8px; }
.division-index a:hover { color: #9a845f; }
.company-detail { padding-block: 100px; border-bottom: 1px solid #d5d8d2; scroll-margin-top: 25px; }
.company-detail:nth-of-type(odd) { background: #f0eee7; }
.company-detail-grid { display: grid; grid-template-columns: .7fr 1.25fr; gap: 125px; }
.company-number > span { color: #a28f6a; font-size: 11px; letter-spacing: .15em; font-weight: 720; }
.company-emblem { font: 170px/1.5 var(--font-display); color: #c8c2b2; letter-spacing: -.1em; }
.company-emblem i { font-style: normal; color: #ac9165; }
.company-text { max-width: 660px; }
.company-text h2 { font: normal clamp(46px,5vw,76px)/1.05 var(--font-display); letter-spacing: -2.8px; color: var(--navy); margin: 28px 0 22px; }
.company-text h3 { font: normal 28px/1.4 var(--font-display); letter-spacing: -.6px; color: #9a8056; margin: 0 0 20px; }
.company-text > p { max-width: 620px; line-height: 1.9; color: #5c6d72; margin: 0; font-size: 15px; }
.company-focus { border-top: 1px solid #cfd2ca; margin-top: 38px; padding: 23px 0; }
.company-focus > span { color: #877650; font-size: 10px; letter-spacing: .17em; font-weight: 750; }
.company-focus ul { list-style: none; display: flex; gap: 12px; flex-wrap: wrap; margin: 17px 0 0; padding: 0; }
.company-focus li { border: 1px solid #d0d1c8; padding: 7px 12px; font-size: 11px; color: #4d5b60; }
.company-text .text-action { margin-top: 8px; }
/* Approach */
.approach-intro { background: var(--paper); }
.method-section { background: var(--paper-2); }
.method-list { border-top: 1px solid #cbd0c9; margin-top: 53px; }
.method-item { display: grid; grid-template-columns: 170px 1fr 70px; gap: 40px; border-bottom: 1px solid #cbd0c9; padding: 42px 0; align-items: start; }
.method-number { font: 60px/1 var(--font-display); color: #c1aa80; }
.method-item h3 { font: normal 35px/1.2 var(--font-display); color: var(--navy); margin: 0 0 13px; letter-spacing: -.7px; }
.method-item p { max-width: 670px; color: #667478; font-size: 15px; line-height: 1.85; margin: 0; }
.method-symbol { font: 43px/1 var(--font-display); text-align: right; color: #b19a72; }
.approach-banner { background: var(--navy-2); padding-block: 90px; color: #fff; }
.banner-content { border-left: 1px solid var(--gold); padding-left: 45px; }
.banner-content > span { color: var(--gold-soft); font-size: 10px; letter-spacing: .2em; }
.banner-content p { font: normal clamp(35px,4.5vw,68px)/1.3 var(--font-display); letter-spacing: -2px; margin: 18px 0 0; }
.banner-content em { color: var(--gold-soft); }
/* Contact */
.contact-grid { display: grid; grid-template-columns: .93fr 1fr; gap: 90px; }
.contact-description > p { max-width: 450px; margin: 28px 0 42px; }
.contact-email { border-top: 1px solid #d4d7d0; padding-top: 22px; }
.contact-email span { color: #9b835a; font-size: 11px; letter-spacing: .15em; font-weight: 760; }
.contact-email p { font: normal 19px/1.6 var(--font-display); color: var(--navy); }
.contact-email a { text-decoration: underline; text-underline-offset: 5px; }
.contact-disclaimer { max-width: 395px; margin-top: 58px; padding-left: 18px; border-left: 2px solid #c4a878; font-size: 12px; line-height: 1.85; color: #858d8c; }
.form-panel { padding: 45px; background: #fdfcf8; border: 1px solid #e3e3dc; box-shadow: 0 17px 50px #0d202a08; }
.form-heading h2 { font: normal 37px/1.2 var(--font-display); letter-spacing: -1px; margin: 0 0 8px; }
.form-heading p { font-size: 13px; color: #728084; margin: 0 0 33px; }
.form-panel form { display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-panel label { display: flex; flex-direction: column; gap: 8px; font-size: 11px; color: #3d4d52; font-weight: 750; letter-spacing: .02em; }
.form-panel label > span { color: #a78a5c; display: inline; }
.form-panel input, .form-panel select, .form-panel textarea { width: 100%; background: #fff; border: 1px solid #d7dad5; border-radius: 0; padding: 13px 14px; color: var(--navy); outline: none; font-weight: 450; font-size: 13px; letter-spacing: 0; }
.form-panel textarea { resize: vertical; min-height: 140px; }
.form-panel input:focus, .form-panel select:focus, .form-panel textarea:focus { border-color: #b29765; box-shadow: 0 0 0 2px #cab58a33; }
.form-panel input::placeholder, .form-panel textarea::placeholder { color: #9ca6a5; }
.form-submit { border: 0; width: max-content; }
.form-status { display: none; background: #eee9da; border-left: 3px solid #ad9167; color: var(--navy); margin: 0; padding: 14px 16px; font-size: 13px; line-height: 1.55; }
.form-status:not(:empty) { display: block; }
.form-note { margin: -2px 0 0; color: #818e8f; font-size: 11px; line-height: 1.7; }
/* Footer */
.site-footer { background: #091b24; color: #e6e8e5; }
.footer-main { display: grid; grid-template-columns: 2.15fr 1fr 1fr; gap: 55px; padding-block: 79px 89px; }
.footer-wordmark { display: inline-flex; flex-direction: column; line-height: 1; gap: 14px; }
.footer-aig { font: 75px/.8 var(--font-display); letter-spacing: -.1em; }
.footer-period { color: var(--gold); }
.footer-full { color: #cbb891; letter-spacing: .25em; font-size: 10px; font-weight: 740; }
.footer-identity p { max-width: 330px; color: #a8b5b7; font-size: 13px; line-height: 1.9; margin-top: 25px; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.footer-column h2 { font-size: 11px; font-weight: 780; text-transform: uppercase; letter-spacing: .15em; color: var(--gold-soft); margin: 0 0 16px; }
.footer-column a { color: #adbbbd; font-size: 13px; }
.footer-column a:hover { color: var(--gold-soft); }
.footer-bottom { border-top: 1px solid #ffffff23; display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-block: 23px; color: #889a9e; font-size: 10px; letter-spacing: .05em; }
/* Responsive */
@media (min-width: 1500px) { .home-hero-grid { min-height: 750px; } }
@media (max-width: 1080px) {
  .container { width: min(var(--container), calc(100% - 64px)); }
  .header-inner { height: 87px; }
  .brand { min-width: 0; }
  .main-nav { gap: 17px; }
  .main-nav a { font-size: 11px; }
  .home-hero-grid { gap: 20px; }
  .home-hero h1 { font-size: clamp(59px, 6.7vw, 85px); }
  .two-col, .about-intro-grid, .philosophy-layout { gap: 60px; }
  .division-card { padding: 24px 21px; }
  .company-detail-grid { gap: 65px; }
  .contact-grid { gap: 45px; }
  .form-panel { padding: 32px; }
  .value-card { padding: 28px 21px; }
  .value-card h3 { font-size: 22px; }
}
@media (max-width: 820px) {
  .container { width: calc(100% - 44px); }
  .utility-right { display: none; }
  .header-inner { height: 78px; }
  .menu-toggle { display: block; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #f9f8f3; padding: 12px 22px 27px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 24px 30px #0d202a20; border-bottom: 1px solid var(--line); }
  .main-nav.open { display: flex; }
  .main-nav a { border-bottom: 1px solid #e2e3dc; padding: 14px 2px; font-size: 14px; }
  .main-nav a::after { display: none; }
  .home-hero-grid { grid-template-columns: 1fr; padding-block: 75px 15px; gap: 0; }
  .hero-copy { padding: 0; }
  .home-hero h1 { max-width: 660px; font-size: clamp(59px, 10vw, 88px); }
  .hero-illustration { width: 70%; height: 360px; min-height: 0; margin: -5px auto -50px; opacity: .7; }
  .hero-monogram { font-size: 145px; }
  .orbit-mark { width: 65px; height: 65px; font-size: 24px; }
  .orbit-note { font-size: 8px; }
  .hero-bottom { min-height: 65px; }
  .two-col, .about-intro-grid, .philosophy-layout, .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .intro-right { padding: 0; }
  .section-pad { padding-block: 85px; }
  .section-title { font-size: clamp(46px,7vw,69px); }
  .section-heading-row { align-items: start; }
  .division-grid { grid-template-columns: repeat(2,1fr); }
  .philosophy-layout { gap: 50px; }
  .interior-grid { min-height: auto; grid-template-columns: 1fr; gap: 55px; padding-block: 76px; }
  .interior-side { max-width: 420px; }
  .values-grid { grid-template-columns: repeat(2,1fr); }
  .value-card { min-height: 255px; }
  .value-card h3 { margin-top: 40px; }
  .company-detail-grid { grid-template-columns: .4fr 1fr; gap: 25px; }
  .company-emblem { font-size: 110px; }
  .division-index { grid-template-columns: repeat(3,1fr); row-gap: 18px; }
  .contact-grid { gap: 45px; }
  .footer-main { grid-template-columns: 1.5fr 1fr 1fr; gap: 30px; }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 38px); }
  .utility-bar { height: 29px; }
  .utility-inner { font-size: 8px; }
  .header-inner { height: 72px; }
  .brand-symbol { width: 34px; height: 34px; }
  .brand-name strong { font-size: 10px; }
  .brand-name small { font-size: 7px; }
  .brand { gap: 10px; }
  .section-pad { padding-block: 68px; }
  .home-hero-grid { padding-block: 67px 35px; }
  .home-hero h1 { font-size: clamp(53px,12vw,72px); letter-spacing: -2.7px; }
  .hero-description { font-size: 14px; }
  .hero-actions { flex-wrap: wrap; gap: 22px; }
  .hero-illustration { width: 95%; height: 295px; margin: 20px auto -20px; }
  .hero-monogram { font-size: 132px; }
  .orbit-note { right: 0; }
  .hero-bottom { font-size: 8px; letter-spacing: .11em; }
  .scroll-indicator { display: none; }
  .eyebrow { font-size: 9px; letter-spacing: .18em; gap: 11px; }
  .eyebrow-line { width: 22px; }
  .section-title { font-size: clamp(44px,10vw,62px); letter-spacing: -1.7px; margin-top: 23px; }
  .lead { font-size: 25px; }
  .section-heading-row { flex-direction: column; gap: 14px; margin-bottom: 32px; }
  .division-grid { grid-template-columns: 1fr; gap: 10px; }
  .division-card, .summary-content { min-height: 270px; }
  .division-mark { font-size: 72px; padding-block: 14px; }
  .principle { gap: 8px; grid-template-columns: 35px 1fr; }
  .principle h3 { font-size: 25px; }
  .closing-row { flex-direction: column; align-items: start; gap: 28px; }
  .closing-action { max-width: 100%; }
  .interior-grid { padding-block: 66px 65px; gap: 45px; }
  .interior-hero h1 { font-size: clamp(44px,10vw,65px); letter-spacing: -1.7px; }
  .values-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 34px; }
  .value-card { min-height: 210px; }
  .value-card h3 { margin-top: 28px; }
  .statement-layout blockquote { font-size: clamp(35px,8vw,48px); letter-spacing: -.8px; }
  .division-index { grid-template-columns: repeat(2,1fr); gap: 25px 12px; }
  .company-detail { padding-block: 65px; }
  .company-detail-grid { grid-template-columns: 1fr; gap: 22px; }
  .company-number { display: flex; justify-content: space-between; align-items: center; height: 65px; }
  .company-emblem { font-size: 65px; line-height: 1; }
  .company-text h2 { font-size: 50px; }
  .company-text h3 { font-size: 25px; }
  .method-item { grid-template-columns: 62px 1fr; gap: 17px; padding-block: 34px; }
  .method-number { font-size: 42px; }
  .method-item h3 { font-size: 29px; }
  .method-symbol { display: none; }
  .banner-content { padding-left: 23px; }
  .banner-content p { font-size: 42px; letter-spacing: -1px; }
  .form-panel { padding: 26px 19px; }
  .form-row { grid-template-columns: 1fr; gap: 20px; }
  .form-heading h2 { font-size: 34px; }
  .form-submit { width: 100%; }
  .footer-main { grid-template-columns: repeat(2, 1fr); gap: 42px 20px; padding-block: 60px; }
  .footer-identity { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; align-items: start; gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
