/* Página inicial: estilos isolados para preservar as demais páginas. */
.home-page .home-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 100px);
  padding: 55px 7% 62px;
}
.home-page .home-kicker { display:flex; align-items:center; gap:12px; font-size:9px; letter-spacing:1.8px; margin-bottom:25px; }
.home-page .home-kicker > span { width:22px; height:1px; background:var(--gold); flex-shrink:0; }
.home-page .home-house { color:var(--muted); font-size:12px; margin:0 0 15px; }
.home-page .home-intro h1 { font-size:clamp(52px, 5.6vw, 84px); line-height:.99; letter-spacing:-2px; }
.home-page .home-intro h1 em { display:inline-block; padding-top:5px; }
.home-page .home-description { color:var(--muted); max-width:375px; font-size:14px; line-height:1.95; margin:26px 0 28px; }
.home-page .home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.home-page .home-actions .button { padding:15px 20px; gap:25px; min-height:48px; }
.home-page .home-secondary { font-size:11px; color:var(--wine); display:inline-flex; gap:12px; align-items:center; min-height:44px; border-bottom:1px solid transparent; }
.home-page .home-secondary:hover { border-bottom-color:var(--gold); }
.home-page .home-signature { display:flex; align-items:center; gap:14px; margin-top:35px; font-size:9px; color:var(--muted); letter-spacing:.6px; }
.home-page .home-signature > span:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.home-page .home-rule { width:32px; height:1px; background:var(--gold); flex-shrink:0; }
.home-page .home-portrait { position:relative; margin:0 16px 0 0; padding:12px 12px 0; }
.home-page .home-portrait::before { content:""; position:absolute; top:0; right:0; left:0; bottom:40px; border:1px solid #d7cbb8; border-radius:48% 48% 1px 1px; pointer-events:none; }
.home-page .home-photo-frame { height:clamp(400px, 39vw, 565px); border-radius:48% 48% 1px 1px; overflow:hidden; background:#e9e3d8; }
.home-page .home-photo-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:42% center; }
.home-page .home-portrait figcaption { position:relative; display:flex; align-items:center; gap:24px; width:calc(100% - 28px); margin:-39px auto 0; padding:21px 24px; background:var(--bg); border-bottom:1px solid var(--line); color:var(--wine); }
.home-page .home-photo-index { font:italic 35px 'Cormorant Garamond',Georgia,serif; border-right:1px solid var(--line); padding-right:24px; }
.home-page .home-portrait figcaption > span:last-child { font-size:11px; line-height:1.8; }
.home-page .home-portrait figcaption em { font:italic 24px 'Cormorant Garamond',Georgia,serif; }
.home-page .home-photo-note { position:absolute; right:-29px; top:48%; writing-mode:vertical-rl; color:var(--muted); font-size:8px; letter-spacing:2px; }
.home-page .home-paths { display:grid; grid-template-columns:1.05fr 1fr 1.15fr 1fr; gap:0; background:#f0ece4; padding:30px 7%; border-top:1px solid var(--line); }
.home-page .home-paths-label { padding-right:20px; }
.home-page .home-paths-label .eyebrow { font-size:8px; margin:0; letter-spacing:1.6px; }
.home-page .home-paths-label p { font:23px/1.2 'Cormorant Garamond',Georgia,serif; margin:8px 0 0; max-width:175px; }
.home-page .home-paths > a { display:flex; align-items:center; gap:13px; padding:12px 20px; border-left:1px solid #d8d0c4; min-width:0; min-height:72px; }
.home-page .home-path-number { font-size:9px; color:var(--gold); align-self:flex-start; margin-top:5px; }
.home-page .home-paths strong { display:block; font:23px/1.2 'Cormorant Garamond',Georgia,serif; color:var(--wine); }
.home-page .home-paths small { display:block; font-size:9px; color:var(--muted); line-height:1.6; margin-top:6px; }
.home-page .home-path-arrow { margin-left:auto; color:var(--wine); font-size:17px; }
.home-page .home-paths > a:hover { background:#e8e1d5; }
@media (min-width:1500px) { .home-page .home-intro { padding-top:65px; padding-bottom:70px; } }
@media (max-width:1000px) {
  .home-page .home-intro { padding:40px 6% 48px; gap:35px; }
  .home-page .home-intro h1 { font-size:clamp(48px, 6.2vw, 64px); }
  .home-page .home-kicker { font-size:8px; letter-spacing:1px; }
  .home-page .home-photo-frame { height:440px; }
  .home-page .home-portrait figcaption { width:calc(100% - 12px); padding:17px 14px; gap:14px; }
  .home-page .home-photo-index { font-size:29px; padding-right:14px; }
  .home-page .home-paths { grid-template-columns:repeat(3,minmax(0,1fr)); padding:25px 6%; }
  .home-page .home-paths-label { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; padding:0 0 17px; }
  .home-page .home-paths-label p { max-width:none; margin:0; }
  .home-page .home-paths > a { padding:12px; }
  .home-page .home-paths > a:first-of-type { border-left:0; padding-left:0; }
  .home-page .home-paths strong { font-size:21px; }
}
@media (max-width:680px) {
  .home-page .home-intro { grid-template-columns:minmax(0,1fr); gap:32px; padding:34px 6% 32px; }
  .home-page .home-kicker { margin-bottom:20px; font-size:8px; letter-spacing:1.2px; }
  .home-page .home-house { font-size:11px; margin-bottom:14px; }
  .home-page .home-intro h1 { font-size:clamp(48px, 12vw, 72px); letter-spacing:-1.5px; }
  .home-page .home-description { font-size:13px; max-width:400px; margin:22px 0; }
  .home-page .home-actions { gap:12px 20px; }
  .home-page .home-actions .button { font-size:10px; }
  .home-page .home-signature { margin-top:23px; font-size:8px; }
  .home-page .home-portrait { margin-right:12px; max-width:470px; width:calc(100% - 12px); justify-self:center; padding:9px 9px 0; }
  .home-page .home-photo-frame { height:clamp(330px, 92vw, 440px); }
  .home-page .home-photo-note { right:-23px; font-size:7px; letter-spacing:1.5px; }
  .home-page .home-portrait figcaption { width:calc(100% - 22px); padding:16px 20px; }
  .home-page .home-paths { grid-template-columns:1fr; padding:25px 6% 18px; }
  .home-page .home-paths-label { display:block; padding-bottom:18px; }
  .home-page .home-paths-label p { margin-top:7px; }
  .home-page .home-paths > a, .home-page .home-paths > a:first-of-type { border-left:0; border-top:1px solid #d8d0c4; padding:17px 0; gap:18px; min-height:78px; }
  .home-page .home-paths strong { font-size:25px; }
  .home-page .home-paths small { font-size:10px; }
}
