/* Approved homepage palette and typography; no changes to the source template mechanics. */
.restyled-page {
  --bg:#050404;
  --black:#050404;
  --text:#eee8df;
  --muted:#aaa59c;
  --gold:#dc9a47;
  --line:#333027;
  --panel:#10100e;
  --panel-soft:#171511;
  --radius:9px;
  --ip-warm-line:#55422b;
  --ip-link:#e3b77f;
  --max:min(1180px,calc(100% - 88px));
  --ip-section-space:clamp(44px,5.6vw,77px);
  --ip-serif:"Playfair Display",Georgia,serif;
  color-scheme:dark;
  background:var(--bg);
  color:var(--text);
  font:400 15px/1.65 Outfit,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.restyled-page main :is(h1,h2,h3), .restyled-page .modal-copy h2 {
  font-family:var(--ip-serif);
  font-weight:400;
  text-wrap:balance;
}
.restyled-page main h1 {font-size:clamp(36px,4.6vw,56px);line-height:1.15;letter-spacing:-.025em}
.restyled-page main h2, .restyled-page .modal-copy h2 {font-size:clamp(28px,3.2vw,36px);line-height:1.22;letter-spacing:-.018em}
.restyled-page main h3 {font-size:25px;line-height:1.28;letter-spacing:-.012em}
.restyled-page main h2 em {display:inline;font-weight:400}
.restyled-page main h1 em {font-weight:400}
.restyled-page main :is(.eyebrow,.kicker,.article-meta), .restyled-page .modal-copy .eyebrow {
  margin:0 0 13px;
  color:var(--gold);
  font-size:10px;
  font-weight:600;
  letter-spacing:.17em;
  line-height:1.45;
}
.restyled-page :is(main,.video-modal,.photo-modal) :is(a,button,summary,input,textarea):focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.restyled-page :is(main,.video-modal) .button {
  gap:10px;
  max-width:100%;
  min-height:48px;
  padding:11px 20px;
  border-radius:5px;
  font:500 14px/1.45 Outfit,Arial,sans-serif;
  letter-spacing:0;
  text-align:center;
  text-transform:none;
  transform:none;
}
.restyled-page :is(main,.video-modal) .button-primary {background:var(--gold);color:#171008}
.restyled-page :is(main,.video-modal) .button-primary:hover {background:#edaf60}
.restyled-page :is(main,.video-modal) :is(.button-ghost,.button-outline) {border-color:#625036;background:#18150f;color:#edd2ad}
.restyled-page :is(main,.video-modal) :is(.button-ghost,.button-outline):hover {border-color:var(--gold);background:#252118}

/* Compact, left-aligned editorial hero with a readable scrim over existing media. */
.restyled-page .hero {
  min-height:clamp(380px,49vh,510px);
  padding:clamp(54px,7vw,96px) 0;
  place-items:center;
  background:var(--bg);
  text-align:left;
  border-bottom:1px solid var(--line);
}
.restyled-page .hero::before {
  background:linear-gradient(90deg,#050404e8 0%,#050404b5 49%,#05040447 100%),
    linear-gradient(0deg,#050404 0%,#05040400 60%);
}
.restyled-page .hero-content {width:var(--max)}
.restyled-page .hero h1 {max-width:800px;text-wrap:pretty}
.restyled-page .hero-copy {max-width:580px;margin:18px 0 0;color:#d0c9bf;font-size:17px;font-weight:400;line-height:1.65}
.restyled-page .hero-actions {justify-content:flex-start;gap:12px;margin:24px 0 0}
.restyled-page .hero-actions .button-ghost {background:#18150fce}
.restyled-page .hero-actions .button-ghost:hover {background:#252118}
.restyled-page .compact-hero {min-height:clamp(315px,42vh,400px);padding-block:clamp(46px,5.3vw,77px)}
.restyled-page .compact-hero:not(.inner-hero) {background:var(--hero-image,none) center/cover no-repeat var(--bg)}
.restyled-page .compact-hero .hero-content > .button {margin-top:22px}

/* Section rhythm and services. */
.restyled-page :is(.about-section,.portfolio-section,.photo-gallery-section,.services-section,.pricing-section,.reviews-section,.contact-section,.team-section,.blog-index-section,.blog-topics-section,.article-shell) {
  padding-block:var(--ip-section-space);
  margin-inline:auto;
  scroll-margin-top:98px;
}
.restyled-page main > :is(.portfolio-section,.photo-gallery-section,.services-section,.pricing-section,.reviews-section,.contact-section,.team-section,.blog-topics-section) {border-top:1px solid var(--line)}
.restyled-page .section-heading {margin-bottom:29px}
.restyled-page .section-heading p:not(.eyebrow) {color:var(--muted);font-size:14px;line-height:1.75}
.restyled-page .section-heading:not(.split-heading) h2 + p {margin-top:12px}
.restyled-page .split-heading {gap:24px}
.restyled-page :is(.about-section,.contact-section) {gap:clamp(34px,5vw,64px)}
.restyled-page .about-media::before {display:none}
.restyled-page .about-media :is(img,.about-video) {height:clamp(248px,30vw,400px);border:1px solid var(--line);border-radius:var(--radius);filter:none}
.restyled-page .about-media .about-video {height:auto;aspect-ratio:16/9}
.restyled-page .about-media figcaption {color:var(--muted);font-size:12px}
.restyled-page .award-card {right:14px;bottom:43px;width:min(160px,50%);padding:12px 14px;border-color:var(--ip-warm-line);border-radius:var(--radius);background:#10100ef5}
.restyled-page .award-card strong {font-size:10px;letter-spacing:.12em}
.restyled-page .sound-toggle {border-color:#625036;border-radius:5px;text-transform:none;font-weight:500}
.restyled-page :is(.delivery-section,.stats-section,.service-card,.price-card,.review-card,.team-card,.blog-card,.topic-grid li,.article-header,.article-cta,.contact-form) {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
}
.restyled-page .stats-section {margin:28px auto 26px;overflow:hidden}
.restyled-page .stat {min-height:108px;background:transparent;padding:18px 12px}
.restyled-page .stat strong {font:400 clamp(26px,3.2vw,39px)/1.12 var(--ip-serif)}
.restyled-page .stat span {font-size:12px}
.restyled-page .delivery-section {align-items:center;gap:24px;margin-inline:auto;margin-bottom:0;padding:clamp(20px,3vw,34px);border-color:var(--ip-warm-line)}
.restyled-page .delivery-section p:last-child {font-size:15px}
.restyled-page .service-card {gap:12px;min-height:0;padding:clamp(21px,2.25vw,28px)}
.restyled-page .service-card p {margin:0}
.restyled-page .service-image-card {min-height:320px;grid-template-rows:auto auto minmax(38px,auto)}
.restyled-page .service-image-card::after {background:linear-gradient(180deg,#05040405 8%,#0504048f 52%,#050404f5 100%)}
.restyled-page .service-image-card .service-card-image {filter:brightness(.77) saturate(.95)}
.restyled-page .service-image-card p {color:#ddd5c9}
.restyled-page .service-tags {min-height:38px}
.restyled-page .about-copy .tag-list {margin-top:15px}
.restyled-page :is(.service-tags,.tag-list,.article-tags) span {border:1px solid var(--ip-warm-line);border-radius:5px;color:var(--ip-link);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}
.restyled-page :is(a.service-card,.review-card,.blog-card):is(:hover,:focus-within) {border-color:#6d5030;background-color:#171511;transform:none}
.restyled-page .price-card {padding:22px;min-height:0}
.restyled-page .price-card.featured {border-color:#765535;background:#17130d}
.restyled-page .price-card h3 {text-wrap:wrap}
.restyled-page .price-card li {border-color:var(--line)}
.restyled-page .price strong {font:400 35px/1.1 var(--ip-serif)}
.restyled-page .review-card {padding:24px}
.restyled-page .review-card p {margin-top:0}
.restyled-page .review-card cite {font-weight:500}
.restyled-page .team-grid {gap:18px}
.restyled-page .team-card {grid-template-columns:clamp(82px,8.5vw,117px) minmax(0,1fr);min-height:0;gap:17px;padding:18px}
.restyled-page .team-photo {width:100%;border-color:var(--line);border-radius:6px}
.restyled-page .team-photo img {filter:none}
.restyled-page .team-card span {font-size:9px;letter-spacing:.09em;line-height:1.45}
.restyled-page .team-card p {margin-top:9px;font-size:13px}

/* Gallery styling is paint-only: retain original hidden states, grid spans and dialog sizing. */
.restyled-page .filter-row {justify-content:flex-start;gap:8px}
.restyled-page .filter-row > :is(button,a,span) {padding:9px 14px;border-color:var(--line);border-radius:999px;background:var(--panel);font-size:13px;font-weight:500;line-height:1.25}
.restyled-page .filter-row > :is(button,a):not(.is-active):hover {border-color:#6d5030;color:var(--text)}
.restyled-page .filter-row > .is-active {background:var(--gold);border-color:var(--gold);color:#171008}
.restyled-page .photo-filter-row button span {border:0;padding:0;background:transparent;font-size:11px;cursor:inherit}
.restyled-page :is(.portfolio-card,.photo-card,.video-modal,.photo-modal,.article-video,.article-gallery figure,.article-inline-media) {border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.restyled-page .portfolio-card div {padding:clamp(12px,1.65vw,20px);background:linear-gradient(0deg,#050404f2 0%,#050404b8 60%,#05040400 100%)}
.restyled-page .portfolio-card h3 {font-size:clamp(18px,1.65vw,25px);line-height:1.18;text-wrap:wrap}
.restyled-page .portfolio-card span {font-size:9px;letter-spacing:.12em;font-weight:600;color:#efbb77}
.restyled-page .portfolio-card p {font-size:12px;color:#ddd5c9}
.restyled-page .portfolio-card img {filter:brightness(.86) saturate(.94)}
.restyled-page .play-card {top:12px;right:12px;width:44px;height:44px;background:#050404ad;border-color:#eee8df9e}
.restyled-page .play-card::before {top:13px;left:17px;border-width:8px 0 8px 12px;border-left-color:var(--text)}
.restyled-page .photo-card img {filter:none}
.restyled-page .photo-card span {left:8px;bottom:8px;max-width:calc(100% - 16px);border-radius:4px;background:#050404dc;color:#efbb77;font-size:9px;font-weight:600;letter-spacing:.06em}
.restyled-page .modal-copy {border-color:var(--line);background:var(--panel)}
.restyled-page :is(.modal-close,.photo-modal-nav) {border-radius:5px}

/* Blog cards and article reading column. */
.restyled-page .blog-card a {grid-template-rows:clamp(185px,17vw,225px) 1fr}
.restyled-page .blog-card img {filter:brightness(.92) saturate(.96)}
.restyled-page .blog-card div {gap:12px;padding:clamp(20px,2.1vw,25px)}
.restyled-page .blog-card .eyebrow {margin:0}
.restyled-page .blog-card p:not(.eyebrow) {font-size:14px}
.restyled-page .blog-card span {margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:12px;font-weight:500;text-transform:none;color:var(--ip-link)}
.restyled-page .article-shell {grid-template-columns:minmax(225px,.36fr) minmax(0,1fr);gap:clamp(34px,5.2vw,70px)}
.restyled-page .article-shell > * {min-width:0}
.restyled-page .article-header {top:112px;padding:clamp(20px,2.3vw,28px)}
.restyled-page .article-lede {font-size:15px;line-height:1.75;color:#d0c9bf}
.restyled-page .article-tags {margin-top:16px;gap:6px}
.restyled-page .article-body {max-width:780px}
.restyled-page .article-body p:not(.eyebrow), .restyled-page .article-body li {font-size:16px;line-height:1.78;color:#c8c0b4}
.restyled-page .article-body li::marker, .restyled-page .article-faq summary::marker {color:var(--gold)}
.restyled-page .article-body section {margin-bottom:clamp(31px,4.1vw,52px)}
.restyled-page .article-body p:not(.eyebrow) a, .restyled-page .article-video figcaption a {color:var(--ip-link);text-decoration:underline;text-underline-offset:3px}
.restyled-page .article-video {box-shadow:none}
.restyled-page .article-gallery img {height:auto}
.restyled-page .article-body :is(.article-gallery,.article-inline-media,.article-video) figcaption {padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}
.restyled-page .article-cta {margin:clamp(33px,5vw,56px) 0;padding:clamp(22px,3vw,34px);border-color:var(--ip-warm-line)}
.restyled-page .article-related {border-color:var(--line);margin-top:42px}
.restyled-page :is(.article-related,.contact-links) a {border-color:#625036;border-radius:5px;color:var(--ip-link);font-size:13px;font-weight:500}
.restyled-page :is(.article-related,.contact-links) a:hover {border-color:var(--gold);background:#18150f}
.restyled-page .article-faq h2 {margin-bottom:17px}
.restyled-page .article-faq details {border-color:var(--line);padding:15px 0}
.restyled-page .article-faq details:last-child {border-bottom:1px solid var(--line)}
.restyled-page .article-faq summary {font-weight:500}
.restyled-page .article-faq details p {margin-bottom:0}

/* Enquiry form and the outer booking page only (the constructor is a separate app). */
.restyled-page .contact-links {justify-content:flex-start;gap:8px;margin-top:20px}
.restyled-page .contact-form {gap:14px;padding:clamp(18px,3vw,30px);border-color:var(--ip-warm-line)}
.restyled-page .contact-form label {gap:6px;color:var(--text);font-size:13px;font-weight:500}
.restyled-page .contact-form :is(input:not([type="checkbox"]),textarea) {border-color:var(--line);border-radius:5px;background:#080706;font-size:15px}
.restyled-page .contact-form textarea {resize:vertical}
.restyled-page .contact-form .security-check {display:flex;align-items:center;gap:10px;border-color:var(--line);border-radius:5px}
.restyled-page .security-check span {font-weight:400}
.restyled-page .contact-form .form-status:empty {min-height:0;margin:0}
.restyled-page .booking-hero {padding:clamp(38px,6vw,76px) 18px 27px;background:none}
.restyled-page .booking-hero .hero-copy {margin:16px auto 0}
.restyled-page .booking-steps {max-width:var(--max);margin-bottom:24px}
.restyled-page .booking-steps li {color:var(--muted);text-align:center}
.restyled-page .booking-steps span {font-size:10px;letter-spacing:.1em}
.restyled-page .booking-constructor {width:var(--max);margin-bottom:60px}
.restyled-page .booking-constructor iframe {border:1px solid var(--line);border-radius:var(--radius)}
.restyled-page .booking-constructor iframe + .booking-preview-note {margin-top:17px}

@media (min-width:1180px) {
  .restyled-page .pricing-grid:has(.price-card:nth-child(5):last-child) {grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
  .restyled-page .pricing-grid:has(.price-card:nth-child(5):last-child) .price-card {padding:20px 17px;font-size:13px}
}
@media (max-width:1120px) {
  .restyled-page {--max:calc(100% - 56px)}
  .restyled-page .article-shell {grid-template-columns:minmax(0,1fr);max-width:min(780px,var(--max))}
  .restyled-page .team-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px) {
  .restyled-page {--max:calc(100% - 36px)}
  .restyled-page .hero {min-height:0;padding-block:50px 40px}
  .restyled-page .hero::before {background:linear-gradient(90deg,#050404d6,#05040480),linear-gradient(0deg,#050404,#05040400 85%)}
  .restyled-page .hero-copy {font-size:15px}
  .restyled-page .hero-actions {width:100%}
  .restyled-page .hero-actions .button {width:auto;min-height:44px;padding:10px 14px;font-size:13px}
  .restyled-page .section-heading {margin-bottom:23px}
  .restyled-page .split-heading {gap:13px}
  .restyled-page .stats-section {grid-template-columns:repeat(2,minmax(0,1fr))}
  .restyled-page .stat {min-height:86px}
  .restyled-page .stat:nth-child(odd) {border-right:1px solid var(--line)}
  .restyled-page .stat:nth-last-child(-n+2) {border-bottom:0}
  .restyled-page .team-grid {grid-template-columns:minmax(0,1fr)}
  .restyled-page .team-card {grid-template-columns:clamp(84px,26vw,126px) minmax(0,1fr)}
  .restyled-page .article-body p:not(.eyebrow), .restyled-page .article-body li {font-size:15px}
  .restyled-page .booking-steps li {align-items:baseline}
}
