@charset "UTF-8";
/* Original Highcroft identity: images/logo.png and the legacy style.css palette. */
:root {
  --brand-lime: #bdc905;
  --brand-lime-hover: #d1da57;
  --brand-olive: #626b03;
  --brand-tint: #f5f6e3;
  --brand-black: #171717;
  --brand-charcoal: #414141;
  --forest: var(--brand-charcoal);
  --forest-deep: var(--brand-black);
  --ink: var(--brand-charcoal);
  --muted: #646464;
  --paper: #fff;
  --stone: #f6f6f2;
  --line: #deded5;
  --lime: var(--brand-lime);
  --sage: var(--brand-lime-hover);
  --surface-border: #41414120;
  --surface-shadow: 0 20px 55px -32px #00000030, 0 3px 9px #00000005;
  --surface-raised: 0 30px 55px -29px #00000036, 0 5px 14px #0000000a;
  --gloss-shadow: 0 22px 65px #0000000d, 0 3px 9px #00000006;
}

body { background: var(--paper); }
:focus-visible { outline-color: var(--brand-olive); }
::selection { background: var(--brand-lime); color: var(--brand-black); }
h1 em, h2 em, .section-heading h2 em, .planner-step legend em { color: var(--brand-olive); }
.eyebrow, .breadcrumb a, .page-number, .page-intro .eyebrow,
.service-items, .service-jump span, .process-grid article>span,
.project-caption .eyebrow, .gallery-empty-mark, .planner-benefits span,
.studio-layer>span, .studio-palette span, .social-links { color: var(--brand-olive); }
.text-link { border-color: var(--brand-lime); }
.text-link:hover, .breadcrumb a:hover { color: var(--brand-olive); }
.text-link.light { color: var(--brand-lime-hover); border-color: var(--brand-lime); }
.reading-progress span { background: var(--brand-lime); }

/* Use the supplied artwork at its original proportions, on white. */
.brand-logo { display: block; width: 216px; height: auto; }
.site-header, .site-header.has-scrolled { background: #fff; border-color: #e8e8e2; }
.site-header { box-shadow: 0 10px 30px #0000000d; }
.topline { background: var(--brand-black); color: #fff; }
.topline i { color: var(--brand-lime); }
.main-nav a { color: var(--brand-charcoal); }
.main-nav a:hover, .main-nav a[aria-current] { color: var(--brand-black); }
.main-nav a:before { background: #bdc9051a; }
.main-nav a[aria-current]:after { background: var(--brand-lime); }
.inspiration-opener, .menu-toggle { background: #fff; border-color: var(--line); color: var(--brand-charcoal); }
.inspiration-opener:hover { background: var(--brand-tint); }

.button-dark { background: linear-gradient(145deg,#414141,#171717); color: #fff; border-color: #414141; }
.button-dark:hover { background: linear-gradient(145deg,#555,#292929); }
.button-lime { background: var(--brand-lime); color: var(--brand-black); border-color: var(--brand-lime); }
.button-lime:hover { background: var(--brand-lime-hover); border-color: var(--brand-lime-hover); }
.button { box-shadow: inset 0 1px #ffffff50, 0 7px 18px -12px #00000060; }
.button-lime>span[aria-hidden="true"]:not(.gloss-sheen):not(.gloss-ink) { background: #0000000b; box-shadow: inset 0 0 0 1px #0000000b; }

.hero-shade { background: linear-gradient(90deg,#171717eb 0%,#171717bd 33%,#17171757 63%,#1717170a 100%),linear-gradient(0deg,#171717cc,transparent 55%); }
.hero h1 em, .hero-copy>.eyebrow, .hero-studio-card .eyebrow { color: var(--brand-lime-hover); }
.hero-intro, .hero-location, .hero-seal, .hero-studio-card small { color: #f1f1e8; }
.hero-bottom { border-top-color: #ffffff30; }
.hero-work-link { border-bottom-color: #ffffff60; }
.location-dot { background: var(--brand-lime); }
.hero-seal { background: #bdc90508; border-color: #bdc90550; }
.hero-studio-card { background: linear-gradient(140deg,#ffffff29,#ffffff0a 42%,#171717c2); border-color: #bdc90560; }
.hero-studio-card:hover { border-color: var(--brand-lime); }
.hero-studio-card strong { color: #fff; }
.hero-studio-card small { border-color: #ffffff30; }
.hero-atmosphere i { background: linear-gradient(135deg,#bdc90510,transparent); border-color: #bdc90528; }
.scroll-link { background: #ffffff09; border-color: #ffffff45; }
.scroll-link:hover { background: #bdc90525; }

.assurance-strip { background: var(--brand-tint); border-color: var(--line); }
.assurance-strip span { color: var(--brand-charcoal); }
.assurance-strip b { color: var(--brand-olive); }
.intro-copy p:first-child { color: var(--brand-charcoal); }
.services-preview, .values-section, .journey-section, .faq-section { background: var(--stone); }
.work-preview, .process-section { background: #fff; }
.home-page section.planner-preview { background: linear-gradient(130deg,#fff,var(--brand-tint)); border-color: var(--line); }
.home-page .planner-preview-copy>p:not(.eyebrow),
.planner-preview-note, .journey-panel-copy>p { color: var(--muted); }
.home-page .planner-preview-copy h2 em { color: var(--brand-olive); }
.studio-layer { background: #fff; }
.studio-palette { background: #ffffffed; }
.studio-palette i { background: var(--brand-lime); }
.studio-palette i:nth-child(2) { background: var(--brand-charcoal); }
.studio-palette i:nth-child(3) { background: var(--brand-lime-hover); }
.studio-grid-lines { background-image: linear-gradient(#bdc90520 1px,transparent 1px),linear-gradient(90deg,#bdc90520 1px,transparent 1px); }
.process-grid article { background: #fff; border-color: var(--line); }
.process-grid article:after { background: radial-gradient(circle,#bdc90520,transparent 70%); }
.page-intro:before { background: radial-gradient(ellipse,#bdc90520,transparent 68%); }
.page-intro:after { background: linear-gradient(140deg,#ffffffbf,#bdc90560 42%,#d1da578a 48%,#626b0366 51%,#bdc90570); }
.page-intro>.eyebrow { background: var(--brand-tint); }
.image-frame:before { background: var(--brand-tint); }
.image-note { background: #f5f6e3ed; color: var(--brand-olive); }

.service-card, .project-card, .journey-panel, .enquiry-panel { background: linear-gradient(145deg,#fff,#fafaf7); }
.service-card:hover, .project-card:hover { border-color: var(--brand-lime); }
.service-card p, .faq-list details p, .journey-tabs button small { color: var(--muted); }
.service-image::before { background: linear-gradient(180deg,#00000012,transparent 40%,#00000026); }
.service-index, .service-detail-number { background: #17171780; }
.round-arrow { background: #fffffff0; }
.project-number { background: var(--brand-tint); color: var(--brand-olive); border-color: var(--line); }
.project-view { background: #ffffffed; color: var(--brand-charcoal); }
.service-jump { border-color: var(--line); }
.service-jump a { background: var(--stone); border-color: var(--line); }
.service-jump a:hover { background: var(--brand-tint); }
.gallery-discovery { background: linear-gradient(135deg,#fafbf2,var(--brand-tint)); border-color: var(--line); }
.gallery-tools, .gallery-empty, .gallery-note { background: var(--stone); border-color: var(--line); }
.gallery-search-field label, .faq-tools>label { color: var(--brand-charcoal); }
.gallery-search-wrap, .faq-tools input { background: #fff; border-color: var(--line); }
.gallery-search-wrap:focus-within { background: #fff; border-color: var(--brand-olive); }
.gallery-search-wrap svg { color: var(--muted); }
.filter-button { background: #fff; color: var(--brand-charcoal); border-color: var(--line); }
.filter-button:hover { background: var(--brand-tint); border-color: var(--brand-lime); }
.filter-button.active, .filter-button.active:hover { background: var(--brand-lime); color: var(--brand-black); border-color: var(--brand-lime); }
.save-project { background: #fffffff0; }
.save-project[aria-pressed="true"] { background: var(--brand-lime); color: var(--brand-black); border-color: var(--brand-lime); }
.journey-tabs button, .journey-tabs button:last-child { background: #fff; color: var(--brand-charcoal); border-color: var(--line); }
.journey-tabs button>span { color: var(--brand-olive); }
.journey-tabs button:hover { border-color: var(--brand-lime); }
.journey-tabs button[aria-selected="true"] { background: var(--brand-tint); color: var(--brand-charcoal); border-color: var(--brand-lime)!important; }
.journey-visual>span { background: #ffffffed; color: var(--brand-charcoal); }
.faq-list details, .faq-list details:first-child { background: #fff; }
.faq-list details:hover, .faq-list details[open] { background: #fff; border-color: var(--brand-lime); }
.faq-list summary span, .faq-tools button { background: var(--brand-tint); color: var(--brand-olive); }
.faq-list details[open] summary { color: var(--brand-charcoal); }
.faq-tools [data-faq-status], .faq-empty { color: var(--muted); }

.closing-cta, .contact-aside, .garden-explorer { background: linear-gradient(130deg,#171717,#414141); color: #fff; }
.closing-cta h2 em, .closing-cta .eyebrow, .explorer-copy h2 em { color: var(--brand-lime-hover); }
.closing-leaf { color: #bdc90530; }
.site-footer { background: #fff; border-top: 1px solid var(--line); }
.site-footer .brand-logo { width: 240px; max-width: 100%; }
.footer-main h3 { color: var(--brand-charcoal); }
.footer-main p, .footer-main>div>a:not(.brand), .footer-bottom, .footer-ideas-link { color: var(--muted); }
.footer-main>div>a:hover { color: var(--brand-olive); }
.footer-main>div>a.footer-phone, .footer-main>div>a.text-link { color: var(--brand-charcoal); }
.footer-bottom { border-color: var(--line); }
.footer-ideas-link>span { background: var(--brand-tint); }
.motion-toggle { background: var(--stone); }
.contact-phone:hover, .contact-email:hover { color: var(--brand-lime-hover); }
.enquiry-form legend, .cookie-note { border-color: var(--line); }
.enquiry-form legend>span { background: var(--brand-tint); }
.field input, .field select, .field textarea { background: #fff; border-color: #c9c9bf; color: var(--brand-charcoal); }
.field input::placeholder, .field textarea::placeholder { color: var(--muted); }
.field input:focus, .field select:focus, .field textarea:focus { background: #fff; border-color: var(--brand-olive); box-shadow: 0 0 0 3px #bdc90525; }
.field [aria-invalid="true"] { border-color: #b46d53; background: #fff9f2; }
.brief-import { background: var(--brand-tint); }
.brief-import>p:not(.eyebrow), .message-counter { color: var(--muted); }
.brief-import pre { background: #ffffffd9; }

/* Planner controls and 3D viewer chrome share the brand; garden materials keep their natural colours. */
.planner-workspace { background: var(--stone); border-color: var(--line); }
.planner-reset, .planner-progress button, .planner-brief-list dt,
.planner-intro-note, .planner-step-number, .planner-photo-note,
.planner-detail-fields .field-hint, .planner-navigation>span,
.planner-draft-note, .planner-export-note { color: var(--muted); }
.planner-reset, .planner-progress button>span:first-child { background: #fff; }
.planner-progress button[aria-current]>span:first-child { background: var(--brand-lime); color: var(--brand-black); border-color: var(--brand-lime); }
.planner-progress button.is-complete>span:first-child { background: var(--brand-tint); border-color: var(--brand-lime); color: var(--brand-olive); }
.planner-meter { background: var(--line); }
.planner-meter span { background: var(--brand-lime); }
.plan-choice-body { background: #fff; border-color: var(--line); }
.plan-choice:hover .plan-choice-body { border-color: var(--brand-lime); }
.plan-choice input:checked+.plan-choice-body { background: var(--brand-tint); border-color: var(--brand-olive); }
.plan-choice strong { color: var(--brand-charcoal); }
.plan-choice-body>span:not(.plan-choice-check):not(.plan-choice-symbol):not(.plan-style-image):not(.plan-feature-number),
.plan-feature .plan-choice-body>span:nth-child(2)>span { color: var(--muted); }
.plan-choice-symbol, .plan-feature-number, .planner-intro-note>span { color: var(--brand-olive); }
.plan-choice-check { background: #fff; border-color: #a9a99b; }
.plan-choice input:checked+.plan-choice-body .plan-choice-check { background: var(--brand-lime); color: var(--brand-black); border-color: var(--brand-lime); }
.planner-expectation, .planner-ideas-button { background: var(--brand-tint); color: var(--brand-charcoal); }
.planner-expectation>span { color: var(--brand-olive); }
.planner-expectation p { color: var(--muted); }
.planner-ideas-button:hover { background: #edf0bf; }
.planner-page .planner-preview { background: linear-gradient(145deg,#414141,#171717); }
.planner-preview-top .eyebrow, .planner-preview-copy>.eyebrow,
.planner-page .planner-preview-copy h2 em { color: var(--brand-lime-hover); }
.planner-preview-live, .planner-preview-tags span, .planner-concept-note,
.planner-model-label, .planner-model-direction, .planner-page .planner-preview-copy>p:not(.eyebrow) { color: #e6e6d9; }
.planner-preview-tags span { background: #ffffff08; border-color: #bdc90550; }
.planner-brief-list { background: #fff; }
.planner-brief-list>div { border-color: var(--line); }
.planner-brief-actions>div button { color: var(--brand-olive); }
.g3d-viewer { background: radial-gradient(ellipse at 80% 0,#bdc90512,transparent 60%),linear-gradient(145deg,#414141,#171717 72%); }
.g3d-viewer[data-time="evening"] { background: linear-gradient(145deg,#292929,#101010 75%); border-color: #ffffff40; }
.g3d-day-toggle, .g3d-view-controls button { background: #ffffff08; border-color: #bdc90550; }
.g3d-view-controls button[aria-pressed="true"], .g3d-swatch[aria-pressed="true"], .g3d-choice-row button[aria-pressed="true"] { background: #bdc90520; border-color: var(--brand-lime); }
.g3d-instructions, .explorer-copy>p:not(.eyebrow), #scene-description p { color: #deded5; }
.g3d-viewer-footer { border-color: #ffffff30; }
.g3d-tabs button { color: #deded5; }
.g3d-tabs [aria-selected="true"] { color: var(--brand-lime); border-color: var(--brand-lime); }
.g3d-detail p, .g3d-option-group legend span, .g3d-viewer-footer p span,
.g3d-compass, .g3d-live-label { color: #cfcfc3; }
.g3d-option-group legend, .g3d-swatch, .g3d-choice-row button,
.g3d-viewer-top>span, .g3d-day-toggle, .g3d-view-controls button,
.g3d-viewer-footer { color: #f0f0e7; }
.g3d-swatch[aria-pressed="true"], .g3d-choice-row button[aria-pressed="true"] { color: var(--brand-lime-hover); }
.g3d-view-controls button:hover, .g3d-day-toggle:hover { background: #bdc90520; border-color: var(--brand-lime); }
.material-explorer { background: var(--stone); }
.material-display { background: radial-gradient(ellipse at 45% 33%,#fff,var(--stone) 55%,var(--brand-tint)); border-color: var(--line); }
.material-display-index { background: #ffffffcc; color: var(--muted); }
.material-display-caption { color: var(--brand-charcoal); }
.material-tabs button { background: #fff; border-color: var(--line); color: var(--brand-charcoal); }
.material-tabs [aria-selected="true"] { background: var(--brand-lime); border-color: var(--brand-lime); color: var(--brand-black); }
.material-compare { background: var(--stone); }
.material-display>small, .material-panel>p:not(.eyebrow), .material-panel dd,
.material-note, .material-table-scroll td { color: var(--muted); }
.material-panel dt, .material-table-scroll tbody th { color: var(--brand-charcoal); }
.material-compare>summary>span { color: var(--brand-olive); }
.material-table-scroll thead th { background: var(--brand-tint); color: var(--brand-charcoal); }

.inspiration-board { background: linear-gradient(140deg,#fff,#fafbf2); }
.inspiration-board::backdrop, .lightbox::backdrop { background: #171717c9; }
.inspiration-close, .inspiration-remove { background: var(--stone); border-color: var(--line); }
.inspiration-close:hover { background: var(--brand-lime); }
.inspiration-empty-art span { background: var(--stone); }
.inspiration-empty-art span:nth-child(2) { background: var(--brand-tint); }
.inspiration-toast { background: var(--brand-charcoal); color: #fff; }
.lightbox { background: #171717f7; border-color: #bdc90560; }
.lightbox button { background: #ffffff0a; border-color: #ffffff45; }
.lightbox figcaption { color: #fff; }

@media (max-width: 1120px) {
  .main-nav { background: #fff; border-color: var(--line); }
}
@media (max-width: 650px) {
  .brand-logo { width: 176px; }
  .hero-shade { background: linear-gradient(90deg,#171717e8,#171717b0 65%,#1717174f),linear-gradient(0deg,#171717d6,transparent 70%); }
}
@media (max-width: 370px) {
  .brand-logo { width: 160px; }
}
