/* The homepage has one deliberate scroll transition: intro → inquiry paths. */
.home-page {
  --header-h: 77px;
  --home-font: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  font-family:var(--home-font);
  background:var(--cream);
  color:var(--charcoal);
  overflow:hidden;
}
.home-header {
  position:relative;
  z-index:20;
  height:var(--header-h);
  min-height:var(--header-h);
  padding:0 clamp(25px,4.2vw,72px);
  background:var(--cream);
  box-shadow:none;
  border-bottom:1px solid var(--rule);
  font-family:var(--home-font);
}
.home-header .brand-word {font-family:var(--home-font);font-weight:700;font-size:20px;letter-spacing:-.07em;line-height:.91;}
.home-header .brand-word span {font-size:9px;font-weight:700;letter-spacing:.25em;margin-top:8px;}
.home-header .main-nav {gap:clamp(23px,3.4vw,52px);font-size:13px;font-weight:600;}
.home-header .nav-outlined {border-color:var(--charcoal);border-radius:0;padding:12px 18px;}
.home-header .nav-outlined:hover {background:var(--charcoal);border-color:var(--charcoal);color:var(--cream);}
.home-scroll {
  height:calc(100vh - var(--header-h));
  height:calc(100dvh - var(--header-h));
  overflow-y:auto;
  overflow-x:hidden;
  scroll-snap-type:y mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-y:contain;
  scrollbar-width:none;
}
.home-scroll::-webkit-scrollbar {display:none;}
.home-screen {height:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;}
.red-square {display:inline-block;width:7px;height:7px;flex:0 0 7px;background:var(--red);}
.intro-screen {display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);}
.intro-copy {display:flex;flex-direction:column;min-width:0;padding:clamp(27px,3.2vw,52px) clamp(25px,4.2vw,72px) 28px;}
.intro-label,.section-note,.page-counter,.photo-credit,.choices-foot,.home-about>span,.choice-top {font-size:10px;font-weight:700;letter-spacing:.11em;line-height:1.3;}
.intro-label,.section-note {display:flex;gap:12px;align-items:center;}
.intro-label-alt {color:#8b8b86;}
.intro-middle {margin:auto 0;padding:28px 0 42px;}
.intro-middle h1 {font-family:var(--home-font);font-weight:600;font-size:clamp(69px,8.1vw,142px);line-height:.92;letter-spacing:-.085em;margin:0 0 clamp(26px,4vw,60px);}
.title-period {color:var(--blue);}
.intro-middle p {font-family:var(--home-font);font-size:clamp(16px,1.32vw,20px);font-weight:400;line-height:1.5;max-width:385px;color:#4f5254;margin:0;letter-spacing:-.014em;}
.intro-bottom {border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;}
.scroll-prompt {display:flex;align-items:center;gap:50px;font-size:13px;font-weight:600;border-bottom:1px solid transparent;transition:color .25s,gap .25s;}
.scroll-prompt:hover {color:var(--blue);gap:58px;}
.scroll-prompt span {font-size:23px;line-height:.7;font-weight:400;}
.page-counter {color:#777a79;white-space:nowrap;}
.page-counter span {margin:0 4px;color:#999b98;}
.photo-editorial {display:grid;grid-template-columns:58% 42%;position:relative;overflow:hidden;background:#242c31;min-width:0;isolation:isolate;}
.photo-frame {margin:0;min-width:0;position:relative;overflow:hidden;background:#b6ac9e;}
.photo-frame + .photo-frame {border-left:3px solid var(--cream);}
.photo-frame img {display:block;height:100%;width:100%;object-fit:cover;object-position:50% 43%;transition:transform 1s cubic-bezier(.25,.7,.2,1);}
.photo-primary img {object-position:52% 50%;}
.photo-secondary img {object-position:52% 47%;}
.photo-editorial:hover img {transform:scale(1.027);}
.photo-credit {position:absolute;left:0;bottom:0;right:0;display:flex;gap:12px;align-items:center;color:var(--cream);background:linear-gradient(0deg,#161819bb,transparent);padding:45px 26px 24px;pointer-events:none;font-size:9px;letter-spacing:.105em;}
.photo-credit span {opacity:.55;}
.choices-screen {background:var(--cream);padding:clamp(28px,3.2vw,54px) clamp(25px,4.2vw,72px) 29px;}
.choices-content {height:100%;width:100%;max-width:1650px;margin:auto;display:grid;grid-template-columns:minmax(0, 0.79fr) minmax(0, 1.21fr);gap:clamp(35px,5vw,85px);min-height:0;}
.choices-left {display:flex;flex-direction:column;min-height:0;min-width:0;padding-bottom:4px;}
.choices-intro {margin:auto 0;padding:24px 0;}
.choices-intro h2 {font-family:var(--home-font);font-weight:600;font-size:clamp(65px,7.1vw,116px);line-height:.94;letter-spacing:-.078em;margin:0 0 clamp(22px,3.7vw,50px);}
.choices-intro p {font-family:var(--home-font);font-size:clamp(15px,1.25vw,19px);line-height:1.48;max-width:375px;color:#53575a;letter-spacing:-.015em;margin:0;}
.home-about {border-top:1px solid var(--rule);padding-top:18px;display:grid;grid-template-columns:75px 1fr;gap:18px;align-items:start;max-width:470px;}
.home-about>span {padding-top:3px;}
.home-about p {font-family:var(--home-font);font-size:12px;line-height:1.55;color:#656767;margin:0;}
.choices-right {min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--charcoal);}
.inquiry-choice {color:var(--charcoal);text-decoration:none;border-bottom:1px solid var(--charcoal);padding:clamp(20px,2.5vw,38px) 0;min-height:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:color .2s,padding .35s;}
.inquiry-choice:hover {color:var(--blue);padding-left:11px;}
.choice-top {display:block;}
.choice-top > span {color:#9b9c97;margin:0 6px;}
.choice-main {display:flex;align-items:center;justify-content:space-between;gap:25px;font-family:var(--home-font);font-size:clamp(41px,4.25vw,74px);line-height:1.02;font-weight:500;letter-spacing:-.06em;}
.choice-arrow {font-weight:400;font-size:clamp(34px,3.8vw,60px);line-height:1;align-self:flex-start;transition:transform .2s;}
.inquiry-choice:hover .choice-arrow {transform:translate(5px,-5px);}
.choice-description {display:block;font-family:var(--home-font);font-size:13px;font-weight:400;color:#666968;line-height:1.4;max-width:390px;letter-spacing:-.005em;}
.choices-foot {margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#8a8c88;}
@media(min-width:761px) {
  .choices-right {max-height:710px;}
}
@media(max-width:1100px) {
  .intro-screen {grid-template-columns:48% 52%;}
  .intro-middle h1 {font-size:clamp(67px,8vw,102px);}
  .choices-content {grid-template-columns:minmax(0, 0.77fr) minmax(0, 1.23fr);gap:35px;}
  .choices-intro h2 {font-size:clamp(64px,7vw,90px);}
  .choice-main {font-size:clamp(38px,4.6vw,61px);}
}
@media(max-width:760px) {
  .home-page {--header-h:68px;}
  .home-header {padding:0 20px;}
  .home-header .brand-word {font-size:18px;}
  .home-header .main-nav>a:not(.nav-outlined) {display:none;}
  .home-header .nav-outlined {padding:10px 12px;font-size:12px;}
  .home-scroll {scroll-snap-type:y proximity;}
  .home-screen {height:auto;min-height:calc(100dvh - var(--header-h));scroll-snap-stop:normal;}
  .intro-screen {display:flex;flex-direction:column;}
  .intro-copy {height:auto;min-height:46dvh;padding:21px 22px 20px;}
  .intro-label {font-size:9px;}
  .intro-label-alt {display:none;}
  .intro-middle {padding:22px 0;}
  .intro-middle h1 {font-size:clamp(74px,16.3vw,115px);margin-bottom:20px;}
  .intro-middle p {font-size:15px;line-height:1.4;max-width:450px;}
  .intro-bottom {padding-top:14px;}
  .photo-editorial {min-height:40dvh;flex:1;}
  .photo-credit {font-size:8px;letter-spacing:.04em;padding:36px 15px 15px;}
  .choices-screen {padding:27px 22px 25px;}
  .choices-content {display:flex;flex-direction:column;gap:28px;}
  .choices-intro {margin:24px 0 0;padding:0;}
  .choices-intro h2 {font-size:clamp(64px,13vw,89px);margin-bottom:18px;}
  .choices-intro p {font-size:15px;max-width:410px;}
  .home-about {order:3;margin-top:8px;max-width:none;}
  .choices-left {display:contents;}
  .choices-left>.section-note {order:0;}
  .choices-intro {order:1;}
  .choices-right {order:2;flex:none;}
  .inquiry-choice {min-height:190px;padding:19px 0;}
  .choice-main {font-size:clamp(40px,8.5vw,62px);}
  .choice-arrow {font-size:33px;}
  .choices-foot {padding-top:15px;margin:0;}
  .home-about {padding-bottom:0;display:grid;grid-template-columns:70px 1fr;}
}
@media(max-width:390px) {
  .home-header .nav-outlined span {display:none;}
  .intro-middle h1 {font-size:clamp(67px,16vw,76px);}
  .photo-editorial {min-height:36dvh;}
  .choice-main {font-size:39px;}
  .choices-screen {gap:20px;}
}
@media(max-height:720px) and (min-width:761px) {
  .intro-copy,.choices-screen {padding-top:23px;padding-bottom:20px;}
  .intro-middle h1 {font-size:clamp(67px,7.3vw,109px);margin-bottom:24px;}
  .choices-intro h2 {font-size:clamp(57px,6vw,90px);}
  .choices-intro {padding:13px 0;}
  .inquiry-choice {padding:15px 0;}
  .choice-main {font-size:clamp(35px,3.7vw,56px);}
}
@media(prefers-reduced-motion:reduce) {
  .home-scroll {scroll-behavior:auto;}
  .photo-frame img,.inquiry-choice,.choice-arrow,.scroll-prompt {transition:none;}
}
