:root{
  --navy:#173b57;
  --navy-deep:#071f2d;
  --harbor:#2d6178;
  --horizon:#9ab5c2;
  --paper:#f5f3ee;
  --white:#fff;
  --copper:#b47745;
  --sans:Inter,"Noto Sans CJK SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--navy-deep)}
body{font-family:var(--sans);color:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.skip-link{position:fixed;z-index:20;left:16px;top:-70px;padding:11px 16px;background:var(--white);color:var(--navy-deep)}
.skip-link:focus{top:16px}

.language-entry{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:0 clamp(24px,5vw,76px)}
.language-entry__scene{position:absolute;z-index:-3;inset:0;background:url("references/homepage_external_examples_v0_1/03_global_markets_port_pexels_13766343.jpg") center 56%/cover no-repeat;transform:scale(1.015)}
.language-entry__veil{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(5,25,37,.97) 0%,rgba(5,25,37,.91) 42%,rgba(5,25,37,.59) 72%,rgba(5,25,37,.42) 100%)}
.language-entry:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,17,26,.28),transparent 32%,rgba(3,17,26,.52));pointer-events:none}

.language-entry__header,.language-entry__footer{width:100%;max-width:1480px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.language-entry__header{height:96px;border-bottom:1px solid rgba(255,255,255,.2)}
.entry-brand{display:flex;align-items:center;gap:13px}
.entry-brand__mark{position:relative;flex:0 0 44px;width:44px;height:44px;overflow:hidden;display:block}
.entry-brand__mark img{position:absolute;width:211px;height:211px;max-width:none;left:-42px;top:-84px;display:block;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 0 7px rgba(255,255,255,.2))}
.entry-brand__mark img[src*="assets/brand/svg/gmc-mark-"]{width:100%;height:100%;max-width:100%;left:0;top:0;filter:none}
.entry-brand__name{font-size:16px;line-height:1;font-weight:700;letter-spacing:.14em}
.language-entry__location{font-size:9px;line-height:1.4;letter-spacing:.22em;color:rgba(255,255,255,.58)}

.language-entry__content{width:100%;max-width:1480px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);gap:clamp(72px,10vw,170px);align-items:center;padding:72px 0}
.language-entry__eyebrow{margin:0 0 30px;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.22em;color:var(--horizon)}
.language-entry__intro h1{margin:0;font-size:clamp(64px,7vw,112px);line-height:.92;letter-spacing:-.06em;font-weight:560}
.language-entry__intro>p:last-child{max-width:510px;margin:34px 0 0;color:rgba(255,255,255,.66);font-size:16px;line-height:1.75}

.language-list{border-top:1px solid rgba(255,255,255,.3)}
.language-option{min-height:128px;display:grid;grid-template-columns:44px 1fr auto;gap:22px;align-items:center;border-bottom:1px solid rgba(255,255,255,.24);padding:18px 8px;transition:background-color .25s,padding .25s,color .25s}
.language-option__flag{width:30px;height:20px;display:block;overflow:hidden;border:1px solid rgba(255,255,255,.36);box-shadow:0 5px 14px rgba(0,0,0,.2)}
.language-option__flag img{display:block;width:100%;height:100%;object-fit:cover}
.language-option__label{display:flex;flex-direction:column;gap:10px}
.language-option[lang="ar"]{direction:ltr}
.language-option[lang="ar"] .language-option__label{direction:ltr;align-items:flex-start;text-align:left}
.language-option[lang="ar"] .language-option__label>*{direction:rtl;unicode-bidi:isolate}
.language-option__label strong{font-size:clamp(25px,2.25vw,36px);line-height:1.1;font-weight:540;letter-spacing:-.025em}
.language-option__label small{font-size:8px;line-height:1.4;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.46)}
.language-option__arrow{font-size:22px;color:rgba(255,255,255,.55);transition:transform .25s,color .25s}
.language-option:hover,.language-option:focus-visible{padding-left:22px;padding-right:18px;background:rgba(255,255,255,.1);outline:0}
.language-option:hover .language-option__arrow,.language-option:focus-visible .language-option__arrow{color:var(--white);transform:translate(4px,-4px)}
.language-option--primary{background:rgba(45,97,120,.3)}

.language-entry__footer{min-height:66px;border-top:1px solid rgba(255,255,255,.18);font-size:8px;line-height:1.4;letter-spacing:.18em;color:rgba(255,255,255,.42)}

@media(max-width:900px){
  .language-entry__content{grid-template-columns:1fr;gap:58px;padding:72px 0 56px}
  .language-entry__intro h1{font-size:clamp(56px,10vw,88px)}
  .language-list{max-width:680px}
  .language-entry__veil{background:linear-gradient(90deg,rgba(5,25,37,.95),rgba(5,25,37,.73))}
}

@media(max-width:600px){
  .language-entry{padding:0 20px}
  .language-entry__scene{background-position:68% center}
  .language-entry__veil{background:linear-gradient(180deg,rgba(5,25,37,.93),rgba(5,25,37,.78) 58%,rgba(5,25,37,.94))}
  .language-entry__header{height:76px}
  .entry-brand{gap:10px}
  .entry-brand__mark{flex-basis:36px;width:36px;height:36px}
  .entry-brand__mark img{width:173px;height:173px;left:-34px;top:-69px}
  .entry-brand__name{font-size:12px;letter-spacing:.1em}
  .language-entry__location{display:none}
  .language-entry__content{display:block;padding:54px 0 38px}
  .language-entry__eyebrow{margin-bottom:20px;font-size:8px}
  .language-entry__intro h1{font-size:48px;line-height:.96}
  .language-entry__intro>p:last-child{max-width:310px;margin-top:22px;font-size:13px;line-height:1.6}
  .language-list{margin-top:46px}
  .language-option{min-height:84px;grid-template-columns:32px 1fr auto;gap:12px;padding:12px 4px}
  .language-option__flag{width:28px;height:19px}
  .language-option__label{gap:5px}
  .language-option__label strong{font-size:21px}
  .language-option:hover,.language-option:focus-visible{padding-left:12px;padding-right:10px}
  .language-entry__footer{min-height:56px}
  .language-entry__footer span:first-child{display:none}
}

@media(max-width:360px){
  .language-entry__content{padding-top:38px}
  .language-entry__intro h1{font-size:42px}
  .language-list{margin-top:34px}
  .language-option{min-height:76px}
}

@media(prefers-reduced-motion:reduce){
  .language-option,.language-option__arrow{transition:none}
}
