/* Edition 07.3: a restrained, bounded opening; other sections are unchanged. */
.home-page.homepage-refined .hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  gap:clamp(28px,4.2vw,72px);
  align-items:center;
}
.home-page.homepage-refined .hero-copy {
  min-width:0;
  padding-block:20px;
}
.home-page.homepage-refined .hero-copy .eyebrow {
  margin-bottom:28px;
  font-size:11px;
  line-height:1.6;
}
.home-page.homepage-refined #hero-title {
  font-size:clamp(40px,5.1vw,84px);
  line-height:1.08;
  letter-spacing:-.057em;
  font-weight:450;
  font-stretch:94%;
  margin:0;
  max-width:100%;
}
.home-page.homepage-refined #hero-title .word-line {
  white-space:nowrap;
  padding-bottom:.10em;
  margin-bottom:-.10em;
}
.home-page.homepage-refined #hero-title .precision-line {
  letter-spacing:-.057em;
}
.home-page.homepage-refined #hero-title .precision-line > span {
  font-weight:380;
}
.home-page.homepage-refined .hero .editorial-proofline {
  max-width:32rem;
  margin-top:28px;
  font-size:calc(clamp(15px,1.1vw,17px) + 2px);
  line-height:1.65;
}
.home-page.homepage-refined .hero-bottom {
  max-width:32rem;
  margin-top:30px;
  display:flex;
  gap:24px;
}
.home-page.homepage-refined .hero-description {
  font-size:16px;
  line-height:1.6;
}
.home-page.homepage-refined .hero-cta {
  margin-top:0;
  font-size:13px;
}
.home-page.homepage-refined .hero > .hero-grid > .hero-figure {
  min-width:0;
  width:100%;
  max-width:540px;
  justify-self:end;
}
.home-page.homepage-refined .opening-folio > span:nth-child(2) {
  display:block;
}
@media (min-width:761px) and (max-width:1100px) {
  .home-page.homepage-refined #hero-title {font-size:5.1vw;}
  .home-page.homepage-refined .hero-copy {padding-block:8px;}
  .home-page.homepage-refined .hero-copy .eyebrow {font-size:10px;margin-bottom:20px;}
  .home-page.homepage-refined .hero .editorial-proofline {font-size:16px;margin-top:22px;line-height:1.55;}
  .home-page.homepage-refined .hero-bottom {margin-top:22px;gap:15px;align-items:end;}
  .home-page.homepage-refined .hero-description {font-size:14px;}
  .home-page.homepage-refined .hero-cta {font-size:12px;gap:8px;}
}
@media (max-width:760px) {
  .home-page.homepage-refined .hero-grid {grid-template-columns:minmax(0,1fr);gap:28px;}
  .home-page.homepage-refined .hero-copy {padding:2px 0 0;}
  .home-page.homepage-refined #hero-title {font-size:clamp(32px,10.5vw,68px);line-height:1.10;letter-spacing:-.055em;}
  .home-page.homepage-refined #hero-title .precision-line {letter-spacing:-.055em;}
  .home-page.homepage-refined .hero-copy .eyebrow {font-size:10px;margin-bottom:20px;}
  .home-page.homepage-refined .hero .editorial-proofline {max-width:33rem;margin-top:22px;font-size:16px;line-height:1.6;}
  .home-page.homepage-refined .hero-bottom {margin-top:23px;max-width:none;gap:16px;}
  .home-page.homepage-refined .hero-description {font-size:14px;}
  .home-page.homepage-refined .hero-cta {font-size:12px;gap:8px;}
  .home-page.homepage-refined .hero > .hero-grid > .hero-figure {max-width:540px;justify-self:center;}
  .home-page.homepage-refined .opening-folio {display:grid;grid-template-columns:1fr auto;gap:12px 10px;padding-bottom:24px;}
  .home-page.homepage-refined .opening-folio > span:nth-child(1) {grid-area:1/1;font-size:9px;}
  .home-page.homepage-refined .opening-folio > span:nth-child(2) {grid-area:2/1/3/3;font-size:10px;letter-spacing:.06em;}
  .home-page.homepage-refined .opening-folio .folio-location {grid-area:1/2;font-size:9px;}
  .home-page.homepage-refined .opening-folio b {padding-inline:8px;}
}
@media (max-width:359px) {
  .home-page.homepage-refined #hero-title {font-size:10vw;}
  .home-page.homepage-refined .hero-copy .eyebrow {font-size:9px;}
  .home-page.homepage-refined .hero .editorial-proofline {font-size:15px;}
  .home-page.homepage-refined .hero-description {font-size:13px;}
  .home-page.homepage-refined .hero-cta {font-size:11px;}
}


/* Edition 07.4 / A fixed fold, not a floating sticker.
   One shared dimension aligns the image's diagonal cut and the red triangle.
   Hover and focus animate the caption rule and link arrow, never the fold. */
.home-page .hero-figure.signature-frame {
  --proof-corner-size:36px;
  --proof-caption-inset:calc(var(--proof-corner-size) + 16px);
}
.home-page .hero-figure.signature-frame::before {
  content:none;
  display:none;
}
.home-page .signature-frame .hero-image-button {
  isolation:isolate;
  clip-path:polygon(var(--proof-corner-size) 0,100% 0,100% 100%,0 100%,0 var(--proof-corner-size));
}
.home-page .signature-frame .hero-image-button::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:var(--proof-corner-size);
  height:var(--proof-corner-size);
  background:var(--red);
  clip-path:polygon(100% 0,100% 100%,0 100%);
  transform:none;
  transition:none;
  pointer-events:none;
  z-index:3;
}
.home-page .signature-frame .image-overline {
  left:var(--proof-caption-inset);
  right:58px;
  top:24px;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.1em;
  white-space:nowrap;
  pointer-events:none;
}
.home-page .signature-frame .rule-top {
  display:block;
  left:var(--proof-caption-inset);
  top:48px;
  width:48px;
  transform:scaleX(.625);
  transform-origin:left center;
  background:rgba(255,255,255,.3);
  transition:transform .3s ease,background-color .3s ease;
}
.home-page .signature-frame .image-cross {
  top:22px;
  right:22px;
  width:18px;
  height:18px;
  color:rgba(255,255,255,.55);
  pointer-events:none;
  transition:transform .3s ease,color .3s ease;
}
.home-page .signature-frame .image-cross::before {
  content:"\2197";
  position:static;
  display:block;
  width:auto;
  height:auto;
  background:none;
  font:20px/1 Arial,sans-serif;
  text-align:center;
}
.home-page .signature-frame .image-cross::after {content:none;display:none;}
.home-page .signature-frame .hero-image-button:is(:hover,:focus-visible) .rule-top {
  transform:scaleX(1);
  background:rgba(255,255,255,.65);
}
.home-page .signature-frame .hero-image-button:is(:hover,:focus-visible) .image-cross {
  transform:translate(2px,-2px);
  color:#f5f3ee;
}
.home-page .signature-frame .hero-image-button:focus-visible {
  box-shadow:inset 0 0 0 2px var(--red);
}
@media (max-width:760px) {
  .home-page .hero-figure.signature-frame {
    --proof-corner-size:28px;
    --proof-caption-inset:calc(var(--proof-corner-size) + 14px);
  }
  .home-page .signature-frame .image-overline {top:20px;right:48px;font-size:10px;}
  .home-page .signature-frame .rule-top {top:42px;width:42px;}
  .home-page .signature-frame .image-cross {top:18px;right:18px;}
}
@media (hover:none) {
  .home-page .signature-frame .rule-top {transform:scaleX(1);transition:none;}
  .home-page .signature-frame .hero-image-button:is(:hover,:focus-visible) .image-cross {transform:none;}
}
html[data-motion="off"] .home-page .signature-frame .rule-top,
html[data-motion="off"] .home-page .signature-frame .image-cross {
  transition:none!important;
  transform:none!important;
}
@media (prefers-reduced-motion:reduce) {
  .home-page .signature-frame .rule-top,
  .home-page .signature-frame .image-cross {
    transition:none!important;
    transform:none!important;
  }
}
