/* Option 3: "Side menu". Fixed menu down the left, editorial pages with large serif type and ruled lines. */
.style-3 { --radius: 0px; --wrap: 1040px; }
.style-3 h1, .style-3 h2, .style-3 .package h3, .style-3 .person__body h3, .style-3 .fact strong {
  font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: 0;
}
.style-3 .btn { border-radius: 0; }
.style-3 .icon, .style-3 input, .style-3 textarea, .style-3 .brand img, .style-3 .footer__badges img, .style-3 .package__tag { border-radius: 0; }

/* Menu: dark bar on phones and tablets, fixed side panel on desktop */
.style-3 .topbar { background: var(--teal-deep); border-bottom: 1px solid rgba(255,255,255,.12); }
.style-3 .header { background: var(--teal-deep); border: 0; }
.style-3 .brand, .style-3 .nav-toggle { color: var(--white); }
.style-3 .brand__name small { color: var(--orange-soft); }
.style-3 .nav { background: var(--teal-deep); border-color: rgba(255,255,255,.12); }
.style-3 .nav a:not(.btn) { color: #e3eef0; border-color: rgba(255,255,255,.12); }
.style-3 .nav a:not(.btn):hover { background: none; color: var(--orange-soft); }
.style-3 .nav a.is-active { color: var(--orange-soft); }

@media (min-width: 1081px) {
  .style-3 .header { position: fixed; left: 0; top: 0; bottom: 0; width: 280px; overflow-y: auto; }
  .style-3 .header .wrap { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 30px; padding: 34px 28px 120px; min-height: 100%; }
  .style-3 .brand { flex-direction: column; align-items: flex-start; gap: 18px; }
  .style-3 .brand img { width: 92px; height: 92px; }
  .style-3 .nav { flex-direction: column; align-items: stretch; width: 100%; gap: 0; }
  .style-3 .nav a:not(.btn) { padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.12); border-radius: 0; font-size: 1.04rem; transition: padding .15s ease; }
  .style-3 .nav a:not(.btn):hover { padding-left: 8px; }
  .style-3 .nav .btn { margin: 24px 0 0; justify-content: center; }
  .style-3 .topbar { position: fixed; left: 0; bottom: 0; width: 280px; z-index: 51; border-bottom: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .style-3 .topbar .wrap { flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 28px 18px; }
  .style-3 .topbar__contact { flex-direction: column; align-items: flex-start; gap: 8px; }
  .style-3 .topbar__social { display: none; }
  .style-3 main, .style-3 .footer { margin-left: 280px; }
  .style-3 .preview-bar { left: 280px; }
  .style-3 .topbar { bottom: 0; }
}
@media (min-width: 1081px) and (max-height: 700px) { .style-3 .topbar { display: none; } .style-3 .header .wrap { padding-bottom: 34px; } }

/* Home page */
.ed-hero { padding: clamp(48px, 7vw, 104px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--line); }
.ed-hero h1 { font-size: clamp(2.9rem, 6.6vw, 5.6rem); line-height: 1; max-width: 13ch; margin-bottom: 0; }
.ed-hero h1 em { color: var(--orange-btn); }
.ed-hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(28px, 5vw, 64px); align-items: end; margin-top: clamp(28px, 4vw, 48px); }
.ed-hero__grid p { font-size: 1.2rem; color: var(--muted); margin: 0; }
.ed-hero .btn-row { margin-top: 0; justify-content: flex-end; }

.ed-rm { display: block; background: var(--orange-btn); color: var(--white); text-decoration: none; padding: clamp(40px, 6vw, 80px) 0; transition: background .2s ease; }
.ed-rm:hover { background: var(--teal-deep); color: var(--white); }
.ed-rm .wrap { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.ed-rm .eyebrow { color: var(--white); opacity: .9; }
.ed-rm b { display: block; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: clamp(2.1rem, 4.6vw, 3.9rem); line-height: 1.05; }
.ed-rm span.go { width: 84px; height: 84px; border: 2px solid var(--white); border-radius: 50%; display: grid; place-items: center; transition: transform .2s ease; }
.ed-rm:hover span.go { transform: rotate(45deg); }
.ed-rm svg { width: 34px; height: 34px; }

.ed-head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; margin-bottom: 8px; }
.ed-head h2 { margin: 0; }
.ed-rows { border-top: 2px solid var(--teal-deep); margin-top: 28px; }
.ed-row { display: grid; grid-template-columns: 70px 0.9fr 1.5fr 40px; gap: 24px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: background .15s ease, padding .15s ease; }
.ed-row:hover { background: var(--paper); padding-left: 16px; padding-right: 16px; color: var(--ink); }
.ed-row__n { font-family: "DM Serif Display", Georgia, serif; font-size: 1.5rem; color: var(--orange-btn); }
.ed-row h3 { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin: 0; }
.ed-row p { margin: 0; color: var(--muted); }
.ed-row svg { width: 26px; height: 26px; color: var(--teal); }

.ed-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 2px solid var(--teal-deep); margin-top: 28px; }
.ed-grid > div { padding: 30px 32px 30px 0; border-bottom: 1px solid var(--line); }
.ed-grid > div:nth-child(even) { padding: 30px 0 30px 32px; border-left: 1px solid var(--line); }
.ed-grid h3 { font-size: 1.2rem; margin-bottom: 6px; }
.ed-grid p { margin: 0; color: var(--muted); }

/* Inner pages */
.style-3 .page-hero { background: var(--white); color: var(--ink); border-bottom: 1px solid var(--line); padding: clamp(44px, 6vw, 88px) 0 clamp(36px, 4vw, 56px); }
.style-3 .page-hero::after { display: none; }
.style-3 .page-hero h1 { font-size: clamp(2.6rem, 5.6vw, 4.6rem); line-height: 1.02; max-width: 16ch; }
.style-3 .page-hero p { color: var(--muted); }
.style-3 .page-hero .eyebrow { color: var(--orange-btn); }
.style-3 .page-hero .btn--ghost { border-color: var(--teal); color: var(--teal); }
.style-3 .page-hero .btn--ghost:hover { background: var(--teal); color: var(--white); }
.style-3 .card, .style-3 .steps li { border: 0; border-top: 2px solid var(--teal-deep); background: transparent; padding: 26px 0 0; }
.style-3 .card:hover { transform: none; box-shadow: none; }
.style-3 .package, .style-3 .form-card, .style-3 .person { border: 1px solid var(--teal-deep); box-shadow: none; }
.style-3 .package--featured { border-width: 3px; }
.style-3 .package__tag { left: 33px; }
.style-3 .fact { background: transparent; border-top: 2px solid var(--teal-deep); padding: 22px 0 0; }
.style-3 .steps li::before { border-radius: 0; background: var(--orange-btn); }
.style-3 .section--teal, .style-3 .cta-band { background: var(--teal-deep); }
.style-3 .cta-band::before { display: none; }

@media (max-width: 800px) {
  .ed-hero__grid, .ed-grid { grid-template-columns: 1fr; }
  .ed-hero .btn-row { justify-content: flex-start; }
  .ed-row { grid-template-columns: 44px 1fr 28px; gap: 6px 14px; padding: 24px 0; }
  .ed-row p { grid-column: 2 / 3; grid-row: 2; }
  .ed-row svg { grid-row: 1; grid-column: 3; }
  .ed-grid > div, .ed-grid > div:nth-child(even) { padding: 24px 0; border-left: 0; }
  .ed-rm span.go { width: 60px; height: 60px; }
  .ed-rm svg { width: 26px; height: 26px; }
}
