.consultation-header { position: relative; background: #08090b; }
.consultation-page { min-height: 80vh; background: #f5f7fa; }
.consultation-hero { position: relative; overflow: hidden; padding: 88px 0 106px; background: radial-gradient(circle at 78% 40%, #292b31 0, #15171c 30%, #08090b 70%); }
.consultation-hero::before { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 64px 64px; content: ''; mask-image: linear-gradient(to bottom, black, transparent 92%); }
.consultation-grid { position: relative; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 84px; }
.consultation-copy { position: relative; z-index: 1; max-width: 650px; }
.consultation-copy h1 { max-width: 700px; margin: 0 0 24px; color: #f8f6f0; font-size: clamp(2.5rem, 5.2vw, 5rem); line-height: 1.36; }
.consultation-copy h1 em { color: var(--gold); }
.consultation-lead { max-width: 580px; margin: 0; color: #aeb7c3; font-size: .97rem; line-height: 2.15; }
.consultation-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.consultation-actions .button { min-width: 190px; }
.consultation-actions .button-ghost { border-color: rgba(255, 255, 255, .22); color: #f8f6f0; }
.consultation-actions .button-ghost:hover { border-color: var(--gold); background: rgba(255, 255, 255, .06); }
.consultation-trust { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 32px; color: #8d97a6; font-size: .7rem; }
.consultation-trust span { padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 999px; }
.consultation-art { position: relative; z-index: 1; justify-self: end; width: min(100%, 405px); }
.consultation-art::before { position: absolute; top: -22px; right: -20px; width: 110px; height: 110px; border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); content: ''; opacity: .7; }
.consultation-art::after { position: absolute; bottom: -17px; left: -17px; width: 80px; height: 80px; border-bottom: 1px solid rgba(255, 255, 255, .35); border-left: 1px solid rgba(255, 255, 255, .35); content: ''; }
.consultation-art img { display: block; width: 100%; aspect-ratio: .86; object-fit: cover; border: 1px solid rgba(255, 255, 255, .16); border-radius: 13px; box-shadow: 22px 22px 0 rgba(220, 154, 61, .09); filter: saturate(.82) contrast(1.05); }
.consultation-art-caption { position: absolute; right: 18px; bottom: 17px; z-index: 2; padding: 9px 13px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 5px; background: rgba(8, 9, 11, .78); color: #f8f6f0; font-size: .68rem; }
.consultation-badge { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; padding: 8px 13px; border: 1px solid rgba(220, 154, 61, .45); border-radius: 999px; color: var(--gold); font-size: .7rem; }
.consultation-badge::before { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); content: ''; }
.consultation-section { padding: 94px 0 112px; background: #fff; }
.consultation-content-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 84px; align-items: start; }
.consultation-section h2 { max-width: 470px; margin: 0 0 19px; color: var(--cream); font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.45; }
.consultation-section h2 em { color: var(--gold-soft); }
.consultation-section-intro { max-width: 390px; color: var(--muted); font-size: .87rem; line-height: 2.1; }
.consultation-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.consultation-point { min-height: 220px; padding: 25px 22px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfd; }
.consultation-point-number { color: var(--gold-soft); font-family: var(--serif); font-size: .9rem; }
.consultation-point h3 { margin: 50px 0 11px; color: var(--cream); font-size: 1rem; line-height: 1.7; }
.consultation-point p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.95; }
.consultation-note { margin-top: 42px; padding: 19px 22px; border-right: 3px solid var(--gold); border-radius: 5px; background: #fff8e9; color: #62513a; font-size: .8rem; line-height: 2; }
.consultation-note a { color: var(--gold-soft); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.consultation-steps-section { padding: 80px 0 92px; background: #111317; }
.consultation-steps-section h2 { color: #f8f6f0; }
.consultation-steps-section .consultation-section-intro { color: #aeb7c3; }
.consultation-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 36px; }
.consultation-step { padding: 25px 22px; border-top: 1px solid rgba(220, 154, 61, .65); background: #181a1f; }
.consultation-step strong { display: block; color: var(--gold); font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.consultation-step h3 { margin: 28px 0 9px; color: #f8f6f0; font-size: .94rem; }
.consultation-step p { margin: 0; color: #9ca5b2; font-size: .75rem; line-height: 1.95; }
.rando-hero { background: radial-gradient(circle at 19% 38%, #2b2419 0, #16171a 27%, #08090b 70%); }
.rando-hero .consultation-art img { filter: saturate(.75) sepia(.08) contrast(1.07); }
.rando-service-section { background: #f5f7fa; }
.rando-service-grid { grid-template-columns: repeat(3, 1fr); }
.rando-service-grid .consultation-point { background: #fff; }
.consultation-footer-note { color: #8993a1; }

@media (max-width: 900px) {
  .consultation-grid { grid-template-columns: 1fr; gap: 55px; }
  .consultation-art { justify-self: start; width: min(100%, 390px); }
  .consultation-content-grid { grid-template-columns: 1fr; gap: 42px; }
  .consultation-section-intro { max-width: 560px; }
}

@media (max-width: 680px) {
  .consultation-hero { padding: 68px 0 82px; }
  .consultation-copy h1 { font-size: clamp(2.35rem, 12vw, 4rem); }
  .consultation-lead { font-size: .87rem; }
  .consultation-actions { display: grid; }
  .consultation-actions .button { width: 100%; }
  .consultation-art { width: min(100%, 335px); margin-inline: auto; }
  .consultation-section { padding: 78px 0 86px; }
  .consultation-points, .consultation-steps, .rando-service-grid { grid-template-columns: 1fr; }
  .consultation-point { min-height: 0; }
  .consultation-point h3 { margin-top: 25px; }
  .consultation-note { margin-top: 28px; }
}

/* Private consultation conversion landing */
.private-landing { --private-green:#0b6b52; --private-deep:#08251f; --private-mint:#c9f0e1; background:#f5f7f5; color:#10231f; }
.private-landing .consultation-header { position:relative; background:var(--private-deep); }
.private-hero { position:relative; overflow:hidden; padding:68px 0 90px; background:radial-gradient(circle at 12% 10%,rgba(65,184,145,.22),transparent 31%),linear-gradient(145deg,#08251f 0%,#0a332b 58%,#3c3017 145%); }
.private-hero::before { position:absolute; inset:0; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:72px 72px; content:''; mask-image:linear-gradient(to bottom,#000,transparent); }
.private-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); align-items:start; gap:70px; }
.private-copy { padding-top:24px; color:#fff; }
.private-copy h1 { max-width:660px; margin:16px 0 21px; font-size:clamp(2.65rem,5vw,5.35rem); line-height:1.28; letter-spacing:-.045em; }
.private-copy h1 em { color:#f3c96f; font-style:normal; }
.private-lead { max-width:610px; margin:0; color:#c3d9d2; font-size:1rem; line-height:2.1; }
.private-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:31px 0 35px; }
.private-trust div { display:flex; align-items:center; gap:10px; padding:13px 12px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.04); }
.private-trust strong { display:grid; place-items:center; min-width:27px; height:27px; border-radius:50%; background:#d9f5eb; color:#0b6b52; font-size:.76rem; }
.private-trust span { color:#c5d7d2; font-size:.72rem; }
.private-portrait { position:relative; overflow:hidden; height:310px; margin:0; border-radius:24px; border:1px solid rgba(255,255,255,.14); }
.private-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 28%; filter:saturate(.82) contrast(1.04); }
.private-portrait::after { position:absolute; inset:0; background:linear-gradient(to top,rgba(4,20,17,.94),transparent 60%); content:''; }
.private-portrait figcaption { position:absolute; z-index:2; right:22px; bottom:19px; display:grid; gap:4px; }
.private-portrait figcaption strong { font-size:1.05rem; }.private-portrait figcaption span { color:#b6ccc5; font-size:.75rem; }

.lead-card { overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:#fff; box-shadow:0 30px 80px rgba(1,18,14,.32); }
.lead-card-head { padding:31px 34px 25px; border-bottom:1px solid #e7ece9; background:linear-gradient(145deg,#fff,#f3faf7); }
.lead-card-head > span { color:var(--private-green); font-size:.76rem; font-weight:900; }
.lead-card-head h2 { margin:7px 0 6px; color:#0e2721; font-size:1.65rem; }.lead-card-head p { margin:0; color:#6b7c76; font-size:.78rem; }
.lead-form { padding:30px 34px 31px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 15px; }.field.full { grid-column:1/-1; }
.field { display:grid; gap:7px; }.field > span { color:#31443e; font-size:.74rem; font-weight:800; }
.field input,.field select,.field textarea { width:100%; box-sizing:border-box; border:1px solid #d9e1de; border-radius:12px; background:#fbfcfc; color:#10231f; font:inherit; font-size:.85rem; outline:none; padding:12px 13px; transition:border .2s,box-shadow .2s,background .2s; }
.field input,.field select { min-height:48px; }.field textarea { resize:vertical; min-height:105px; line-height:1.8; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#43a987; background:#fff; box-shadow:0 0 0 4px rgba(67,169,135,.12); }
.field small { color:#8a9893; font-size:.66rem; }.hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.academic-box { margin:23px 0; padding:20px; border:1px solid #bce1d4; border-radius:17px; background:#f1faf7; }
.academic-box legend { padding:0 9px; color:#176e56; font-size:.73rem; font-weight:900; }
.consent { display:flex; align-items:flex-start; gap:10px; margin:21px 0 17px; color:#586a64; font-size:.71rem; line-height:1.75; cursor:pointer; }.consent input { margin-top:5px; accent-color:var(--private-green); }
.lead-submit { width:100%; min-height:54px; display:flex; align-items:center; justify-content:center; gap:13px; border:0; border-radius:14px; background:linear-gradient(100deg,#0b6b52,#138665); color:#fff; font:inherit; font-weight:900; cursor:pointer; box-shadow:0 12px 26px rgba(11,107,82,.22); transition:transform .2s,opacity .2s; }.lead-submit:hover { transform:translateY(-2px); }.lead-submit:disabled { cursor:wait; opacity:.65; }
.lead-submit b { font-size:1.15rem; }.privacy-note { margin:12px 0 0; color:#91a09b; text-align:center; font-size:.64rem; }
.form-status { display:none; margin-top:14px; border-radius:13px; padding:13px 15px; font-size:.75rem; line-height:1.8; }.form-status.is-loading,.form-status.is-error,.form-status.is-success { display:grid; gap:2px; }
.form-status.is-loading { background:#eef5f2; color:#50645d; }.form-status.is-error { background:#fff0f0; color:#a43b3b; }.form-status.is-success { background:#eaf9f2; color:#176e56; }.form-status.is-success strong { font-size:.85rem; }.form-status.is-success small { color:#5c786f; }

.private-benefits { padding:94px 0 104px; background:#f7f8f6; }.private-heading { max-width:700px; margin-bottom:38px; }.private-heading > span,.private-faq-grid > div:first-child > span { color:#a66c16; font-size:.78rem; font-weight:900; }
.private-heading h2,.private-faq h2 { margin:8px 0 12px; color:#10231f; font-size:clamp(2rem,4vw,3.6rem); line-height:1.35; }.private-heading p { max-width:620px; color:#61716c; line-height:2; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.benefit-grid article { min-height:240px; padding:28px; border:1px solid #e0e5e2; border-radius:22px; background:#fff; }
.benefit-grid b { color:#b17a28; font:500 1rem/1 Georgia,serif; }.benefit-grid h3 { margin:49px 0 10px; font-size:1.15rem; }.benefit-grid p { margin:0; color:#667670; font-size:.81rem; line-height:2; }
.private-faq { padding:84px 0 96px; background:#fff; }.private-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:start; }.private-faq details { margin-bottom:11px; padding:0 21px; border:1px solid #e1e6e3; border-radius:16px; background:#fbfcfb; }.private-faq summary { cursor:pointer; padding:19px 0; font-weight:900; }.private-faq details p { margin:0; padding:0 0 19px; color:#63736d; line-height:1.95; font-size:.82rem; }

@media (max-width:980px) { .private-hero-grid { grid-template-columns:1fr; }.private-copy { max-width:700px; }.lead-card { max-width:700px; }.benefit-grid { grid-template-columns:1fr; }.benefit-grid article { min-height:0; }.benefit-grid h3 { margin-top:24px; } }
@media (max-width:700px) { .private-hero { padding:44px 0 62px; }.private-copy h1 { font-size:2.65rem; }.private-hero-grid { gap:38px; }.private-trust { grid-template-columns:1fr; }.private-portrait { height:250px; }.lead-card-head,.lead-form { padding-right:21px; padding-left:21px; }.form-grid { grid-template-columns:1fr; }.field.full { grid-column:auto; }.academic-box { padding:17px 14px; }.private-benefits { padding:68px 0 76px; }.private-faq { padding:62px 0 75px; }.private-faq-grid { grid-template-columns:1fr; gap:28px; } }
