/* Preserve the portrait, overlapping wordmark and gold CTA.
   Layout depends on available width and content, never on a specific phone height. */
.page-home { width:100%; }
.page-home .header__container-logo::before,.page-home .header__container-logo::after { content:none; animation:none; }
.page-home .wrapper { padding:0 clamp(12px,1.8vw,32px); }
.header-hero { overflow:hidden; isolation:isolate; }
.header-hero__container {
  display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto;
  position:relative; width:100%; height:auto; min-height:0;
  padding:104px 0 0; gap:20px 0; box-sizing:border-box; overflow:hidden; isolation:isolate;
}
.header-hero__container-left,.header-hero .header-hero__container-right { display:contents; }
.header-hero__container::before {
  top:25%; left:0; transform:none; writing-mode:vertical-rl; line-height:1;
  font-size:clamp(100px,28vw,210px); color:rgba(248,241,229,.025); letter-spacing:.02em;
  pointer-events:none; z-index:-1;
}
.header-hero__container-left-slogan-data { grid-column:1; grid-row:1; min-width:0; z-index:3; }
.header-hero__container-left-slogan-data-slogan {
  font-size:clamp(21px,5.8vw,36px); font-weight:700; line-height:1.22; letter-spacing:.01em;
  margin:0 auto; max-width:22ch; text-align:center; text-wrap:balance;
}
.header-hero__container-left-slogan-data-autor,.header-hero__container-left-slogan-data-data-aliat { display:none; }
.header-hero__container-right-links-flex { grid-column:1; grid-row:2; display:block; z-index:3; width:100%; margin:0 auto; max-width:540px; }
.header-hero__container-right-links-flex-block { margin:0; text-align:center; }
.header-hero__container-right-links-flex-block:empty { display:none; }
.header-hero__container-right-links-flex-block>p:first-child { font-size:clamp(14px,3.7vw,18px); line-height:1.55; text-wrap:balance; }
.header-hero__container-right-links-flex-block>p:first-child span { display:inline; }
.header-hero .years { font-size:clamp(19px,4.8vw,24px); line-height:1.3; margin:18px auto 0; max-width:24ch; }
.header-hero .years>span { font-size:1.25em!important; }
.header-hero__container-right-arrow { grid-column:1; grid-row:3; display:block; position:relative; z-index:4; margin:0; padding:0; }
.header-hero .header__container-hire-link-hire-me-nax { width:100%; max-width:420px; margin:0 auto; }
.header-hero .header__container-hire-link-hire-me-nax a {
  display:flex; justify-content:center; align-items:center; box-sizing:border-box;
  width:100%; min-height:52px; margin:0; padding:16px 12px; border-radius:999px;
  font-size:clamp(12px,3.5vw,17px); line-height:1.3; letter-spacing:0; white-space:normal;
  box-shadow:0 6px 28px rgba(215,183,128,.35); transition:background-color .2s,box-shadow .2s;
}
.header-hero .header__container-hire-link-hire-me-nax a::before { animation:none; content:none; }
.header-hero .header__container-hire-link-hire-me-nax a:hover { background:#e9ca94; box-shadow:0 7px 30px rgba(215,183,128,.4); }
.header-hero .header__container-hire-link-hire-me-nax a:focus-visible { outline:2px solid #f8f1e5; outline-offset:5px; }
.header-hero__container-mid {
  grid-column:1; grid-row:4; align-self:end; justify-self:center;
  position:relative; left:auto; bottom:auto; transform:none; width:100%; max-width:620px;
  height:clamp(320px,112vw,570px); margin:0; overflow:hidden; z-index:1;
}
.header-hero__container-mid img {
  display:block; width:100%; height:100%; max-width:none; margin:0;
  object-fit:cover; object-position:center bottom; opacity:.82;
  filter:drop-shadow(0 5px 24px rgba(92,73,39,.35));
}
.header-hero__container-mid::before,.header-hero__container-mid::after { content:none; animation:none; background:none; }
.header-hero__container-left-art,.header-hero__container-right-dev {
  grid-column:1; grid-row:4; align-self:end; position:relative; inset:auto;
  display:block; width:100%; margin:0; max-width:100%; z-index:2; text-align:center;
  font-size:clamp(44px,18vw,108px); font-weight:500; line-height:1.08; letter-spacing:0;
  text-transform:uppercase; white-space:nowrap; pointer-events:none;
}
.header-hero__container-left-art { margin-bottom:1.17em; }
.header-hero__container-right-dev { margin-bottom:.08em; }
.header-hero__container-left-video-dec { display:none; }
/* Compact header retains its existing logo, Hire Us and menu, without width overflow. */
@media(max-width:600px) {
 .header-hero { width:100vw; margin-inline:calc(50% - 50vw); }
 .header-hero__container { padding-inline:12px; overflow:visible; }
 .page-home .header__container { top:0; left:0; width:100%; margin:0; padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left)); box-sizing:border-box; min-height:72px; background:rgba(29,29,29,.96); }
 .page-home .header__container-logo { margin:0; }
 .page-home .header__container-logo img { width:clamp(118px,38vw,165px); height:auto; }
 .page-home .header__container-hire-link { margin:0; gap:12px; align-items:center; }
 .page-home .header__container-hire-link a { font-size:14px; margin:0; padding:10px 4px; }
 .page-home .header__burger { margin-bottom:0; top:0; flex-shrink:0; }
 .header-hero__container-mid { width:100vw; max-width:none; margin-top:-50px; }
 .header-hero__container-mid img { transform:scale(1.1); transform-origin:center bottom; }
}
@media(min-width:601px) and (max-width:900px) {
 .header-hero__container { padding-top:64px; gap:24px; }
 .header-hero__container-left-slogan-data-slogan { max-width:25ch; }
 .header-hero__container-mid { height:570px; }
 .header-hero__container-left-art,.header-hero__container-right-dev { font-size:108px; }
}
/* Desktop keeps copy at the sides and the portrait centered behind the wordmark. */
@media(min-width:901px) {
 .header-hero__container { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto 1fr auto; column-gap:clamp(48px,14vw,240px); row-gap:28px; padding:clamp(70px,7vw,120px) 0 20px; min-height:clamp(630px,78svh,850px); max-width:1600px; margin:0 auto; }
 .header-hero__container::before { writing-mode:horizontal-tb; top:4%; left:50%; transform:translateX(-50%); font-size:clamp(120px,15vw,220px); }
 .header-hero__container-left-slogan-data-slogan { font-size:clamp(25px,2.5vw,38px); max-width:24ch; text-align:left; margin:0; }
 .header-hero__container-left-slogan-data-autor { display:block; margin:14px 0 0; font-size:12px; text-align:left; }
 .header-hero__container-right-links-flex { grid-column:2; grid-row:1; justify-self:end; max-width:400px; }
 .header-hero__container-right-links-flex-block { text-align:left; }
 .header-hero__container-right-links-flex-block>p:first-child { font-size:clamp(16px,1.3vw,20px); }
 .header-hero .years { margin:20px 0 0; font-size:clamp(21px,1.8vw,28px); }
 .header-hero__container-right-arrow { grid-column:2; grid-row:2; align-self:start; justify-self:end; width:100%; max-width:400px; }
 .header-hero .header__container-hire-link-hire-me-nax a { font-size:clamp(13px,1.15vw,17px); }
 .header-hero__container-mid { grid-column:auto; grid-row:auto; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:76%; max-width:1100px; height:100%; pointer-events:none; }
 .header-hero__container-mid img { object-fit:contain; }
 .header-hero__container-left-art,.header-hero__container-right-dev { grid-row:3; font-size:clamp(76px,8.8vw,146px); letter-spacing:-.025em; margin:0; }
 .header-hero__container-left-art { grid-column:1; text-align:left; }
 .header-hero__container-right-dev { grid-column:2; text-align:right; }
}
@media(prefers-reduced-motion:reduce) { .header-hero * { animation:none!important; transition:none!important; } }
