/* Typography and atmosphere lead Home; Services share one interactive stage. */
.page-home { --home-header-height:93px; }
.page-home .header { margin-bottom:calc(-1 * var(--home-header-height)); background:transparent; backdrop-filter:none; border-bottom-color:transparent; transition:background .2s ease,border-color .2s ease; }
.page-home .header.is-scrolled { background:#080b0fef; border-bottom-color:#bccadd12; }
.page-home .mobile-nav { background:#0b1019f5; }
.quiet-hero { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-rows:1fr auto; min-height:clamp(640px,calc(100svh - 138px),900px); }
.quiet-center { position:relative; z-index:2; align-self:center; text-align:center; padding-top:95px; padding-bottom:115px; }
.page-home .quiet-hero { min-height:clamp(733px,calc(100svh - 36px),993px); }
.page-home .quiet-center { padding-top:calc(95px + var(--home-header-height)); }
.quiet-center .eyebrow { justify-content:center; font-size:9px; letter-spacing:.17em; margin:0 0 20px; }
.quiet-hero h1 { font-size:clamp(60px,6.7vw,96px); font-weight:450; line-height:1.16; letter-spacing:-.055em; margin:0; }
.quiet-heading-line { display:block; }
.quiet-hero h1 .serif-accent { display:block; line-height:1.2; padding-bottom:.08em; color:var(--gold); letter-spacing:-.055em; }
.quiet-description { font-size:13px; line-height:1.75; color:#a4acb8; margin:16px auto 18px; max-width:460px; }
.quiet-panorama { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:var(--bg); }
.home-star-art { position:absolute; display:block; width:100%; height:100%; object-fit:cover; mix-blend-mode:lighten; transform:scale(1.015); animation:home-star-breathe 22s ease-in-out infinite alternate; }
@keyframes home-star-breathe { from{transform:scale(1.015);filter:brightness(.96)} to{transform:scale(1.035);filter:brightness(1.04)} }
.quiet-panorama .scene { width:100%; height:100%; border-radius:0; }
.quiet-panorama .scene-fallback { background:#080b0f; }
.hero-poster { display:block; position:absolute; inset:0; }
.quiet-panorama .scene-poster { object-fit:cover; }
.quiet-panorama::after { content:''; position:absolute; inset:0; z-index:2; pointer-events:none; background:radial-gradient(ellipse at 50% 43%,#080b0fcc 0%,#080b0faa 27%,transparent 64%),linear-gradient(180deg,#080b0f33 0%,transparent 28%,transparent 88%,#080b0f 100%); }
.quiet-link { display:inline-flex; align-items:center; gap:28px; padding:10px 0; border-bottom:1px solid #8d826b; color:var(--text); font-size:13px; line-height:1.5; }
.quiet-link span { color:var(--gold); transition:transform .2s ease; }
.quiet-link:hover { color:var(--gold); }
.quiet-link:hover span { transform:translate(3px,-3px); }
.quiet-link.discover-button { justify-content:space-between; gap:40px; min-width:220px; padding:15px 21px; border:1px solid #a18d65; border-radius:4px; background:linear-gradient(120deg,#29271f,#141c28); color:#ecdfc4; transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.quiet-link.discover-button:hover { background:#343027; border-color:#e0c99e; color:#fff1d1; box-shadow:0 0 30px #d9c79d18; transform:translateY(-2px); }
.quiet-link.discover-button > span { font-size:20px; line-height:1; }
.quiet-link:focus-visible,.direction-tabs button:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.quiet-base { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:25px 0; border-top:1px solid #26303c; color:#8792a1; font:9px/1.6 monospace; letter-spacing:.12em; }
.quiet-base a { display:flex; gap:22px; color:#bbc0c7; }
.quiet-base a:hover { color:var(--gold); }
.quiet-sky { position:absolute; z-index:1; inset:0; pointer-events:none; overflow:hidden; }
.quiet-sky i { position:absolute; top:var(--y); left:var(--x); width:var(--size); height:var(--size); background:#cfdbec; border-radius:50%; opacity:.18; animation:quiet-twinkle 7s ease-in-out infinite; animation-delay:var(--delay); }
.light-trace { position:absolute; width:160px; height:1px; transform:rotate(-28deg); background:linear-gradient(90deg,transparent,#b6c7e0,transparent); opacity:0; animation:quiet-trace 11s linear infinite; }
.trace-one { top:24%; left:10%; }
.trace-two { top:66%; left:76%; animation-delay:-6s; width:100px; }
@keyframes quiet-twinkle { 0%,100%{opacity:.1} 50%{opacity:.42} }
@keyframes quiet-trace { 0%,62%{opacity:0;transform:translate(0,0) rotate(-28deg)} 72%{opacity:.24} 92%,100%{opacity:0;transform:translate(150px,-80px) rotate(-28deg)} }
.project-overview,.home-approach { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; padding-top:105px; padding-bottom:105px; align-items:center; }
.project-overview { scroll-margin-top:10px; }
.project-overview h2 { font-size:clamp(38px,4.5vw,64px); line-height:1.16; }
.project-overview .serif-accent { color:var(--gold); }
.overview-copy { max-width:410px; }
.overview-copy p,.home-approach>div>p { font-size:15px; line-height:1.9; color:var(--muted); margin-bottom:21px; }
.overview-copy .quiet-link,.home-approach .quiet-link { margin-top:8px; }
.home-approach { border-top:1px solid var(--line); padding-top:75px; padding-bottom:90px; }
.home-approach h2 { font-size:clamp(34px,3.8vw,50px); line-height:1.2; }
.page-services .page-hero { padding-top:58px; padding-bottom:42px; }
.page-services .page-hero h1 { font-size:clamp(50px,5.2vw,76px); line-height:1.15; }
.page-services .page-hero-bottom > p { max-width:450px; }
.illustrated-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; align-items:center; }
.illustrated-hero .illustrated-hero-copy { min-width:0; }
.illustrated-hero h1 { font-size:clamp(43px,5.2vw,76px); line-height:1.14; }
.page-about .illustrated-hero h1 { font-size:clamp(42px,4.8vw,70px); }
.illustrated-summary { font-size:14px; line-height:1.9; color:var(--muted); margin-top:27px; max-width:520px; }
.illustrated-hero-visual { min-width:0; }
.illustrated-stage { position:relative; }
.country-caption { position:absolute; bottom:22px; left:0; right:0; z-index:3; text-align:center; color:#a6b6ca; font:11px/1.6 Arial,sans-serif; letter-spacing:.14em; pointer-events:none; }
.illustrated-stage .scene { width:100%; height:320px; }
.illustrated-stage .scene-fallback { background:radial-gradient(ellipse at center,#152032 0%,transparent 68%); }
.illustrated-stage .scene-poster { object-fit:cover; }
.illustrated-hero-visual .status-inline { justify-content:center; margin-top:12px; font-size:8px; line-height:1.7; }
.service-workspace { padding-bottom:25px; scroll-margin-top:20px; }
.direction-selector-label { display:flex; justify-content:space-between; color:#acb5c2; font:9px/1.6 monospace; letter-spacing:.12em; margin:0 0 15px; }
.direction-selector-label span { color:var(--gold); font-size:14px; }
.direction-tabs { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:8px; padding:8px; border:1px solid #303b4c; border-radius:8px; background:#0d121b; }
.direction-tabs button { position:relative; display:flex; align-items:center; gap:12px; color:#b3bdcb; background:#111923; border:1px solid #354052; border-radius:4px; padding:19px 14px; min-height:66px; font-family:inherit; font-size:13px; line-height:1.5; text-align:left; cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.direction-tabs button > span { font:9px monospace; color:#60718b; }
.direction-tabs button::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.direction-tabs button[aria-selected="true"] { color:#ead9b5; background:#29261f; border-color:#ad9970; }
.direction-tabs button[aria-selected="true"] > span { color:var(--gold); }
.direction-tabs button[aria-selected="true"]::after { transform:scaleX(1); }
.direction-tabs button:hover { color:#f1e2c1; border-color:#a39578; background:#222934; }
.direction-tabs button[aria-selected="true"]:hover { background:#343025; }
.direction-panel { display:grid; grid-template-columns:.95fr 1.1fr; gap:70px; align-items:center; min-height:490px; padding:52px 0; scroll-margin-top:20px; }
.direction-panel[hidden] { display:none; }
.direction-panel:focus-visible { outline:1px solid #58667a; outline-offset:12px; }
.direction-copy { max-width:430px; }
.direction-copy .section-number { font-size:9px; letter-spacing:.1em; color:#a3adba; }
.direction-copy h2 { font-size:clamp(36px,4vw,56px); line-height:1.12; margin:23px 0; }
.direction-copy > p { font-size:14px; line-height:1.85; color:var(--muted); margin:0 0 16px; }
.direction-copy .direction-detail { color:#7e8b9d; font-size:12px; }
.direction-terms { list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; padding:20px 0 0; margin:0; color:#b5b9c0; font-size:10px; }
.direction-terms li::before { content:'—'; color:#867b63; margin-right:7px; }
.direction-state { display:flex; align-items:center; gap:8px; margin-top:27px; font-size:10px; color:#9b947f; }
.direction-stage { min-width:0; }
.direction-stage .scene { width:100%; height:360px; background:none; }
.direction-stage .scene-fallback { background:radial-gradient(ellipse at center,#101a29 0%,transparent 68%); }
.service-disclosure { padding-top:22px; padding-bottom:65px; border-top:1px solid var(--line); }
.service-disclosure p { max-width:740px; font-size:11px; line-height:1.9; color:#8995a6; }
.project-identity { display:grid; grid-template-columns:1.1fr 1fr; gap:110px; padding-top:55px; padding-bottom:85px; border-top:1px solid var(--line); align-items:center; }
.project-identity h2 { font-size:clamp(33px,3.4vw,48px); line-height:1.18; margin:22px 0; }
.project-identity p { max-width:400px; font-size:14px; line-height:1.9; color:var(--muted); }
.identity-details { padding:0; margin:0; }
.identity-details > div { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.identity-details dt { font-size:11px; color:#8491a3; }
.identity-details dd { font-size:13px; color:#c6cbd2; margin:0; text-align:right; }
.project-timeline { gap:24px; }
.registration-link { position:absolute; top:-1px; left:14px; right:-24px; height:2px; background:#746a53; overflow:hidden; z-index:1; }
.registration-link::after { content:''; position:absolute; height:100%; width:30%; left:-30%; background:linear-gradient(90deg,transparent,#e9d4a5,transparent); animation:registration-flow 2.8s linear infinite; }
.project-timeline .timeline-node { z-index:2; }
.project-timeline .current .timeline-node { box-shadow:0 0 0 5px #d9c79d08; }
.registration-uid { color:#c6bb9e; font-size:10px; }
@keyframes registration-flow { from{left:-30%} to{left:100%} }
html[data-motion="paused"] .quiet-sky *,html[data-motion="paused"] .registration-link::after { animation-play-state:paused; }
html[data-motion="paused"] .home-star-art { animation-play-state:paused; }
@media(max-width:1100px) {
  .project-overview,.home-approach,.project-identity { gap:55px; }
  .direction-panel { gap:35px; }
  .direction-tabs button { font-size:11px; gap:9px; }
  .direction-stage .scene { height:330px; }
}
@media(max-width:800px) {
  .page-home { --home-header-height:77px; }
  .page-home .quiet-center { padding-top:calc(100px + var(--home-header-height)); }
  .illustrated-hero { gap:24px; grid-template-columns:1.15fr 1fr; }
  .illustrated-hero h1,.page-about .illustrated-hero h1 { font-size:clamp(34px,5.6vw,46px); }
  .illustrated-summary { font-size:12px; margin-top:22px; }
  .illustrated-stage .scene { height:260px; }
  .illustrated-hero-visual .status-inline { font-size:7px; }
  .quiet-center { padding-top:100px; padding-bottom:110px; }
  .quiet-hero h1 { font-size:clamp(48px,7.8vw,68px); }
  .quiet-description { font-size:13px; margin-top:18px; }
  .quiet-base { font-size:8px; }
  .project-overview,.home-approach { gap:38px; padding-top:65px; padding-bottom:65px; }
  .overview-copy p,.home-approach>div>p { font-size:13px; }
  .direction-tabs { grid-template-columns:1fr 1fr; }
  .direction-tabs button { padding:16px 12px; font-size:12px; }
  .direction-panel { gap:25px; padding:42px 0; min-height:440px; }
  .direction-copy h2 { font-size:35px; }
  .direction-copy > p { font-size:12px; }
  .direction-copy .direction-detail { font-size:11px; }
  .direction-stage .scene { height:290px; }
  .direction-terms { gap:8px 12px; font-size:9px; }
  .project-identity { gap:40px; padding-top:40px; padding-bottom:55px; }
  .identity-details > div { display:block; padding:14px 0; }
  .identity-details dd { text-align:left; margin-top:7px; }
}
@media(max-width:580px) {
  .page-home .quiet-hero { min-height:max(677px,calc(100svh - 34px)); }
  .page-home .quiet-center { padding-top:calc(90px + var(--home-header-height)); }
  .illustrated-hero { grid-template-columns:1fr; gap:15px; }
  .illustrated-hero h1,.page-about .illustrated-hero h1 { font-size:clamp(37px,10vw,48px); }
  .illustrated-summary { max-width:100%; margin-top:22px; }
  .illustrated-stage .scene { height:230px; }
  .illustrated-hero-visual .status-inline { justify-content:flex-start; margin-top:3px; font-size:8px; }
  .quiet-link.discover-button { min-width:210px; padding:14px 20px; }
  .quiet-center { padding-top:90px; padding-bottom:110px; }
  .quiet-center .eyebrow { font-size:8px; letter-spacing:.1em; margin-bottom:26px; }
  .quiet-hero h1 { font-size:clamp(38px,10.5vw,60px); line-height:1.2; }
  .quiet-hero h1 .serif-accent { line-height:1.25; letter-spacing:-.06em; }
  .quiet-description { font-size:12px; line-height:1.9; margin:16px auto 18px; max-width:300px; }
  .quiet-hero { min-height:max(600px,calc(100svh - 110px)); }
  .quiet-panorama .scene { width:100%; height:100%; }
  .quiet-panorama .scene-poster { object-fit:fill; }
  .home-star-art { width:176%; height:auto; left:-38%; top:43%; object-fit:contain; mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent); transform:translateY(-50%) scale(1.015); animation-name:home-star-breathe-mobile; }
  @keyframes home-star-breathe-mobile { from{transform:translateY(-50%) scale(1.015);filter:brightness(.96)} to{transform:translateY(-50%) scale(1.035);filter:brightness(1.04)} }
  .quiet-link { font-size:12px; gap:25px; }
  .quiet-base { padding:21px 0; font-size:7px; letter-spacing:.08em; }
  .quiet-base > span:last-child { display:none; }
  .project-overview,.home-approach { grid-template-columns:1fr; gap:28px; padding-top:55px; padding-bottom:55px; }
  .project-overview h2 { font-size:43px; }
  .home-approach h2 { font-size:34px; }
  .overview-copy { max-width:100%; }
  .page-services .page-hero { padding-bottom:32px; }
  .direction-tabs button { font-size:11px; padding:14px 10px; gap:8px; min-height:66px; }
  .direction-panel { grid-template-columns:1fr; gap:8px; padding:35px 0 10px; }
  .direction-copy { max-width:100%; }
  .direction-copy h2 { font-size:38px; margin:20px 0; }
  .direction-copy > p { font-size:13px; }
  .direction-copy .direction-detail { font-size:12px; }
  .direction-state { font-size:9px; }
  .direction-stage .scene { height:255px; }
  .service-disclosure { padding-bottom:45px; }
  .project-identity { grid-template-columns:1fr; gap:28px; }
  .identity-details > div { display:flex; }
  .identity-details dd { margin:0; text-align:right; font-size:12px; }
  .project-timeline { gap:0; }
  .registration-link { top:12px; bottom:0; left:-1px; right:auto; width:2px; height:auto; }
  .registration-link::after { width:100%; height:30%; left:0; top:-30%; animation-name:registration-flow-vertical; }
  @keyframes registration-flow-vertical { from{top:-30%} to{top:100%} }
}
@media(prefers-reduced-motion:reduce) { .quiet-sky *, .registration-link::after, .home-star-art { animation:none!important; } }
