/* Photo-led homepage. Shared site typography and motion remain in style.css. */
.home-page { --home-edge: clamp(1.2rem,3.5vw,4rem); }
.home-page .site-shell.home-shell { width:100%; max-width:none; padding:0; }
.home-page .site-header { top:clamp(1.5rem,4vw,3.5rem); left:var(--home-edge); right:var(--home-edge); display:flex; justify-content:space-between; padding:0; }
.home-page .site-title { position:static; width:auto; height:auto; margin:0; padding:0; overflow:visible; clip:auto; white-space:normal; transform:none; pointer-events:auto; }
.home-logo-link { display:inline-grid; grid-template-columns:max-content; gap:.55rem; width:max-content; }
.home-logo { width:100%; height:auto; display:block; }
.home-logo-name { display:block; font-family:'Instrument Sans',sans-serif; font-size:clamp(.39rem,.47vw,.49rem); font-weight:500; letter-spacing:.17em; line-height:1.3; white-space:nowrap; text-transform:uppercase; color:rgba(255,255,255,.86); }
.home-page .site-nav { gap:1.25rem; }
.home-page .site-nav a,.home-page .site-projects summary { font-size:clamp(.66rem,.8vw,.8rem); }
.home-page .site-projects-panel { background:rgba(5,5,5,.88); padding:0 .6rem; }
.home-page .home-hero { min-height:100svh; }
.home-page .home-copy { position:absolute; inset:0; width:100%; min-height:100%; padding:0; display:block; }
.home-page .home-title-block { position:absolute; left:var(--home-edge); bottom:20%; margin:0; }
.home-page .home-headline { max-width:13em; margin:0; font-family:'Instrument Sans',sans-serif; font-size:clamp(2rem,3.8vw,4rem); font-weight:400; line-height:1.12; letter-spacing:-.035em; color:rgba(247,245,237,.94); }
.home-page .home-location { margin:1.45rem 0 0; font-size:clamp(.64rem,.85vw,.83rem); letter-spacing:.22em; }
.home-page .home-start-group { position:absolute; left:var(--home-edge); bottom:7%; margin:0; z-index:9; }
.home-page .home-start { margin:0; padding:0; font-size:clamp(.85rem,1vw,1rem); font-weight:400; text-transform:none; letter-spacing:0; }
.home-page .home-start span:first-child::after { display:none; }
.home-page .home-start .home-start-arrow { display:inline-block; transform:rotate(90deg) translateX(0); transition:transform 320ms cubic-bezier(.22,1,.36,1); }
.home-page .home-start:hover .home-start-arrow,
.home-page .home-start:focus-visible .home-start-arrow { transform:rotate(90deg) translateX(4px); }
.home-page .home-start[aria-expanded=true] .home-start-arrow { transform:rotate(-90deg) translateX(0); }
.home-page .home-start[aria-expanded=true]:hover .home-start-arrow,
.home-page .home-start[aria-expanded=true]:focus-visible .home-start-arrow { transform:rotate(-90deg) translateX(4px); }
.home-page .home-inquire-panel { position:absolute; bottom:calc(100% + .75rem); min-width:240px; background:rgba(5,5,5,.88); padding:0 .75rem; }
.home-page .home-inquire-panel a { margin:.75rem 0; font-family:'Instrument Sans',sans-serif; font-size:.85rem; color:rgba(255,255,255,.9); }
.home-featured { position:absolute; right:var(--home-edge); bottom:7%; z-index:9; display:flex; align-items:center; gap:clamp(1.5rem,3vw,3rem); font-family:'Instrument Sans',sans-serif; font-size:clamp(.6rem,.75vw,.75rem); line-height:1.4; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.home-featured-link { transition:color .25s; }
.home-featured-link:hover { color:#fff; }
.home-contact-inline { position:absolute; left:var(--home-edge); bottom:7%; z-index:9; display:flex; align-items:center; gap:1.5rem; font-family:'Instrument Sans',sans-serif; font-size:clamp(.6rem,.75vw,.75rem); font-weight:400; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.home-contact-inline a { transition:color .25s ease; white-space:nowrap; }
.home-contact-inline a:hover { color:#fff; }
.js .home-contact-inline { opacity:0; }
.home-page.is-ready .home-contact-inline { animation:homeTextEnter 820ms var(--intro-easing) 500ms forwards; }
.home-slide-controls { display:flex; gap:.5rem; }
.home-slide-controls button { appearance:none; border:0; padding:14px 0; width:26px; background:none; cursor:pointer; }
.home-slide-controls button::after { content:''; display:block; width:100%; height:2px; background:rgba(255,255,255,.4); transition:background .3s; }
.home-slide-controls button[aria-pressed=true]::after { background:#f1eee5; }
.home-page a:focus-visible,.home-page button:focus-visible { outline:1px solid #f1eee5; outline-offset:5px; }
.home-page .home-credit { --intro-x:-50%; position:fixed; left:50%; right:auto; bottom:1.1rem; transform:translateX(-50%); width:max-content; max-width:calc(100% - 2.4rem); margin:0; font-size:clamp(.48rem,.58vw,.64rem); line-height:1.5; letter-spacing:.08em; color:rgba(255,255,255,.72); text-align:center; }
.js .home-logo-link { opacity:0; }
.home-page.is-ready .home-logo-link { animation:homeTextEnter 820ms var(--intro-easing) 0ms forwards; }
.js .home-featured { opacity:0; }
.home-page.is-ready .home-featured { animation:homeTextEnter 820ms var(--intro-easing) 500ms forwards; }
@media(max-width:768px) {
  .home-page .site-header { top:1.5rem; }
  .home-page .site-nav { gap:.8rem; }
  .home-page .home-title-block { bottom:26%; }
  .home-page .home-headline { font-size:clamp(1.8rem,7.5vw,2.7rem); }
  .home-page .home-location { font-size:.59rem; margin-top:1rem; letter-spacing:.17em; }
  .home-page .home-start-group { bottom:16%; }
  .home-contact-inline { bottom:16%; gap:1rem; font-size:.55rem; letter-spacing:.1em; }
  .home-featured { left:var(--home-edge); right:var(--home-edge); bottom:8%; justify-content:space-between; gap:.7rem; font-size:.55rem; letter-spacing:.1em; }
  .home-slide-controls button { width:22px; }
  .home-page .home-credit { bottom:1rem; width:calc(100% - 2.4rem); max-width:none; font-size:.46rem; }
}
@media(max-height:540px) and (min-width:769px) { .home-page .home-headline { font-size:2rem; } .home-page .home-title-block { bottom:25%; } }
@media(prefers-reduced-motion:reduce) { .js .home-logo-link,.js .home-featured,.js .home-contact-inline { opacity:1; animation:none; } }
