
/* Structure only; each theme look styles colors and type. */
.sc-embed{position:relative;width:100%;margin:0 0 1.5rem;aspect-ratio:var(--sc-embed-ratio,16/9);overflow:hidden}
.sc-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sc-thanks[hidden],.sc-pay [hidden]{display:none!important}
.sc-pay__field{display:grid;gap:.35rem;margin-bottom:1.25rem}
.sc-pay input,.sc-pay select,.sc-pay textarea{width:100%;min-height:44px}
.sc-pay__sum{display:flex;justify-content:space-between;gap:1rem}

/* Contact form block (Contact Form 7): fixed fields, two columns from 640px. */
.sc-contact{max-width:760px;margin-inline:auto}
.sc-contact__fields{display:grid;gap:1rem 1.25rem}
@media (min-width:640px){.sc-contact__fields{grid-template-columns:1fr 1fr}.sc-contact__field--wide{grid-column:1/-1}}
.sc-contact__field{display:grid;gap:.35rem;margin:0}
.sc-contact__label{font-weight:500;color:var(--sc-heading,inherit)}
.sc-contact__optional{font-weight:400;color:var(--sc-muted,inherit)}
.sc-contact .wpcf7-form-control-wrap{display:block}
.sc-contact input:not([type=submit]),.sc-contact textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--sc-line,#d9d4cc);border-radius:8px;background:var(--sc-paper,#fff);color:var(--sc-text,inherit);font:inherit;transition:border-color .2s,box-shadow .2s}
.sc-contact input:not([type=submit]):focus,.sc-contact textarea:focus{outline:none;border-color:var(--sc-accent,#35291f);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-accent,#35291f) 22%,transparent)}
.sc-contact textarea{min-height:9rem;resize:vertical}
.sc-contact .wpcf7-not-valid{border-color:#b3261e}
.sc-contact__actions{display:flex;align-items:center;gap:12px;margin-top:1.25rem}
.sc-contact .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 28px;border:1px solid var(--sc-accent,#35291f);border-radius:999px;background:var(--sc-accent,#35291f);color:#fff;font:500 14px/1.5 var(--sc-sans,inherit);letter-spacing:.03em;cursor:pointer;box-shadow:0 4px 12px #2f2a2412;transition:transform .25s var(--sc-ease,ease),filter .2s}
.sc-contact .wpcf7-submit:hover{transform:translateY(-2px);filter:brightness(.94)}
.sc-contact .wpcf7-submit:focus-visible{outline:3px solid #06c;outline-offset:4px}
.sc-contact .wpcf7-submit:disabled{opacity:.65;cursor:default;transform:none}
.sc-contact .wpcf7-spinner{width:18px;height:18px;margin:0;border:2px solid var(--sc-line,#d9d4cc);border-top-color:var(--sc-accent,#35291f);border-radius:50%;visibility:hidden;animation:sc-contact-spin .8s linear infinite}
.sc-contact .submitting .wpcf7-spinner{visibility:visible}
@keyframes sc-contact-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sc-contact .wpcf7-submit{transition:none}.sc-contact .wpcf7-submit:hover{transform:none}.sc-contact .wpcf7-spinner{animation-duration:2.4s}}
.sc-contact .wpcf7-not-valid-tip{display:block;margin-top:.25rem;font-size:.9em;color:#b3261e}
.sc-contact .wpcf7-response-output{margin:1.25rem 0 0;padding:.75rem 1rem;border:1px solid var(--sc-line,#d9d4cc);border-radius:8px;background:var(--sc-paper,#fff);color:var(--sc-text,inherit)}
.sc-contact .wpcf7-response-output:empty{display:none}
.sc-contact .sent .wpcf7-response-output{border-color:#2e7d32}
.sc-contact :is(.invalid,.unaccepted,.failed,.aborted,.spam) .wpcf7-response-output{border-color:#b3261e}
.sc-contact .wpcf7-turnstile{margin-top:1rem}
html.dark .sc-contact :is(.wpcf7-not-valid-tip){color:#ff8a80}
html.dark .sc-contact .wpcf7-not-valid,html.dark .sc-contact :is(.invalid,.unaccepted,.failed,.aborted,.spam) .wpcf7-response-output{border-color:#ff8a80}
html.dark .sc-contact .sent .wpcf7-response-output{border-color:#81c784}
.sc-contact__unavailable{color:var(--sc-muted,inherit)}
.sc-contact__trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* Contact Form 7 hides these with its own stylesheet, which the editor does not load: without this the editor showed an empty bordered box above Name. */
.sc-contact .hidden-fields-container{display:none}
.sc-contact .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;border:0}

/* Customer Website blocks (Gallery cards, Availability, Client quotes, FAQ). Built on the theme tokens,
   so every look restyles them; the fallbacks are for themes without those tokens. */
.sc-block{box-sizing:border-box;margin-block:clamp(48px,6vw,88px)}
.sc-block--tint{margin-block:0;padding-block:clamp(48px,6vw,88px);background:var(--sc-band,#f4f1ec)}
.sc-block--tint>.sc-block__inner{width:calc(100% - 2*var(--sc-gutter,24px));max-width:var(--sc-wide,1180px);margin-inline:auto}
.sc-block__heading{max-width:760px;margin-bottom:clamp(2rem,5vw,4rem)}
.sc-block--wide-heading .sc-block__heading{max-width:none}
.sc-block__heading h2{margin:0 0 .5em}
.sc-block__heading>p:last-child:not(.sc-eyebrow){margin-bottom:0;color:var(--sc-muted,inherit)}
.sc-motion-ready .sc-block.sc-reveal[data-animate="true"]{transition:opacity .7s var(--sc-ease,ease),transform .7s var(--sc-ease,ease)}
.sc-motion-ready .sc-block.sc-reveal[data-animate="true"]:not(.is-visible){opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:reduce){.sc-motion-ready .sc-block.sc-reveal[data-animate="true"]{transition:none;opacity:1;transform:none}}
.sc-gallery__notice+.sc-block{margin-top:0}

.sc-gallery-cards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.2rem)}
.sc-gallery-cards__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sc-gallery-card{position:relative;display:block;min-width:0;color:var(--sc-text,inherit);text-decoration:none}
.sc-gallery-card__media{position:relative;display:block;min-height:330px;overflow:hidden;border-radius:var(--sc-card-radius,var(--sc-radius,16px));background:var(--sc-band,#f4f1ec);box-shadow:var(--sc-shadow,none);isolation:isolate}
.sc-gallery-card .sc-gallery-card__media img,.sc-gallery-card__empty{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--sc-ease,ease)}
.sc-gallery-card__empty{background:linear-gradient(135deg,var(--sc-band,#f4f1ec),var(--sc-accent,#35291f))}
.sc-gallery-card:hover img,.sc-gallery-card:focus-visible img{transform:scale(1.035)}
.sc-gallery-card:focus-visible{outline:3px solid var(--sc-accent,#35291f);outline-offset:4px;border-radius:var(--sc-card-radius,var(--sc-radius,16px))}
.sc-gallery-card__label{position:absolute;z-index:1;right:1rem;bottom:1rem;left:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.15rem;border-radius:var(--sc-radius,12px);background:var(--sc-glass,var(--sc-card-bg,var(--sc-paper,#fff)));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sc-gallery-card__label strong{min-width:0;max-width:100%;color:var(--sc-heading,inherit);font-family:var(--sc-serif,inherit);font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:400;line-height:1.15;overflow-wrap:anywhere}
.sc-gallery-card__label small{color:var(--sc-muted,inherit);white-space:nowrap}
.sc-gallery-card__description{display:-webkit-box;margin-top:.4rem;overflow:hidden;color:var(--sc-muted,inherit);font-size:.875rem;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.sc-gallery-card--page .sc-gallery-card__label small{color:var(--sc-link,var(--sc-accent,inherit));font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:767px){.sc-gallery-cards__grid,.sc-gallery-cards__grid--2{grid-template-columns:minmax(0,1fr)}.sc-gallery-card__media{min-height:280px}}
@media (min-width:768px) and (max-width:1023px){.sc-gallery-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* One or two cards in a wider row keep their usual width and sit centred. */
@media (min-width:1024px){.sc-gallery-cards__grid--3.sc-gallery-cards__grid--few{--sc-cards-gap:clamp(1rem,2.5vw,2.2rem);grid-template-columns:repeat(2,minmax(0,calc((100% - 2 * var(--sc-cards-gap)) / 3)));justify-content:center}.sc-gallery-cards__grid--3.sc-gallery-cards__grid--count-1{grid-template-columns:minmax(0,calc((100% - 2 * var(--sc-cards-gap)) / 3))}}
@media (min-width:768px){.sc-gallery-cards__grid--2.sc-gallery-cards__grid--count-1{--sc-cards-gap:clamp(1rem,2.5vw,2.2rem);grid-template-columns:minmax(0,calc((100% - var(--sc-cards-gap)) / 2));justify-content:center}}
@media (min-width:768px) and (max-width:1023px){.sc-gallery-cards__grid--3.sc-gallery-cards__grid--count-1{--sc-cards-gap:clamp(1rem,2.5vw,2.2rem);grid-template-columns:minmax(0,calc((100% - var(--sc-cards-gap)) / 2));justify-content:center}}
/* Placeholder cards before any gallery is chosen: the look's soft gradient, no link. */
.sc-gallery-card--placeholder{cursor:default}
@media (prefers-reduced-motion:reduce){.sc-gallery-card img{transition:none}.sc-gallery-card:hover img,.sc-gallery-card:focus-visible img{transform:none}}

.sc-availability{scroll-margin-top:100px}
.sc-availability__frame iframe{display:block;width:100%;height:720px;border:0;background:transparent;color-scheme:normal}
.sc-availability[data-calendar-only]{margin-block:0}
.sc-contact__availability{max-width:760px;margin:0 auto 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.sc-contact__availability p{flex:1 1 16rem;margin:0;color:var(--sc-muted,inherit)}
.sc-button--outline{background:transparent!important;border:1px solid var(--sc-accent,#35291f)!important;color:var(--sc-text,#35291f)!important}

.sc-quotes__grid{display:grid;gap:clamp(1rem,2vw,1.6rem)}
.sc-quotes__grid--1{grid-template-columns:minmax(0,720px);justify-content:center}
.sc-quotes__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sc-quotes__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sc-quote{display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;border:1px solid var(--sc-line,#d9d4cc);border-radius:var(--sc-card-radius,var(--sc-radius,16px));background:var(--sc-card-bg,var(--sc-paper,#fff));box-shadow:var(--sc-shadow,none)}
.sc-quote__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sc-band,#f4f1ec)}
.sc-quote .sc-quote__media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none}
.sc-quote__body{padding:clamp(1.4rem,3vw,2.4rem)}
.sc-quote blockquote{margin:0;padding:0;border:0;color:var(--sc-text,inherit);font-size:clamp(1.08rem,2vw,1.42rem);font-style:normal;line-height:1.55}
.sc-quote figcaption{margin-top:1.15rem;color:var(--sc-muted,inherit);font-size:.9rem;font-weight:700}
.sc-quotes__grid--1 .sc-quote--photo{flex-direction:row;align-items:stretch}
.sc-quotes__grid--1 .sc-quote--photo .sc-quote__media{flex:0 0 38%;aspect-ratio:auto;min-height:240px}
.sc-quotes__grid--1 .sc-quote--photo .sc-quote__body{flex:1 1 auto;align-self:center}
@media (max-width:800px){.sc-quotes__grid--2,.sc-quotes__grid--3{grid-template-columns:minmax(0,1fr)}.sc-quotes__grid--1 .sc-quote--photo{flex-direction:column}.sc-quotes__grid--1 .sc-quote--photo .sc-quote__media{flex:none;aspect-ratio:4/3;min-height:0}}

.sc-faq__column{max-width:860px;margin-inline:auto;text-align:left}
.sc-faq__column--expanded{max-width:900px}
.sc-faq__heading{margin:0 0 1rem}
.sc-faq__item{padding:.85rem 0;border-bottom:1px solid var(--sc-line,#d9d4cc)}
.sc-faq__item summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.5rem;color:var(--sc-text,inherit);font-weight:600;cursor:pointer;list-style:none}
/* The FAQ's own marker, a plus that turns to a minus when open, in place of the browser's black triangle. */
.sc-faq__item summary::-webkit-details-marker{display:none}
.sc-faq__item summary::after{content:"";flex:0 0 14px;height:14px;background:linear-gradient(var(--sc-accent,currentColor),var(--sc-accent,currentColor)) center/100% 1.5px no-repeat,linear-gradient(var(--sc-accent,currentColor),var(--sc-accent,currentColor)) center/1.5px 100% no-repeat;transition:background-size .2s ease}
.sc-faq__item[open] summary::after{background-size:100% 1.5px,1.5px 0}
@media (prefers-reduced-motion:reduce){.sc-faq__item summary::after{transition:none}}
.sc-faq__item summary:hover{color:var(--sc-link,var(--sc-accent,inherit))}
.sc-faq__item summary:focus-visible,.sc-faq__question:focus-visible{outline:2px solid var(--sc-accent,#35291f);outline-offset:.25rem}
.sc-faq__answer{color:var(--sc-muted,inherit)}
.sc-faq__answer>:first-child{margin-top:.6rem}
.sc-faq__answer>:last-child{margin-bottom:0}
.sc-faq__column--expanded .sc-faq__item{padding:1.5rem 0;border-top:1px solid var(--sc-line,#d9d4cc);border-bottom:0}
.sc-faq__column--expanded .sc-faq__item:first-child{padding-top:0;border-top:0}
.sc-faq__question{margin:0;scroll-margin-top:6rem}
.sc-faq__jump{display:grid;gap:.5rem;margin-bottom:1.5rem;font-size:16px;font-weight:600}
.sc-faq__jump{display:block;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.sc-faq__jump[hidden]{display:none}
.sc-faq__jump select{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:.5rem .75rem;border:1px solid var(--sc-line,#d9d4cc);border-radius:var(--sc-radius,12px);background:var(--sc-paper,#fff);color:var(--sc-text,inherit);font:inherit;font-weight:400}

/* Optional Puck hero settings and button icons. */
.sc-hero.sc-hero--center{justify-content:center}
.sc-hero.sc-hero.sc-hero--center .sc-hero__content{margin-inline:auto;text-align:center}
.sc-hero.sc-hero--center .sc-hero__content :is(h1, h2):where(:not(h2), .sc-auto-page-heading),.sc-hero.sc-hero--center .sc-hero__content p{margin-inline:auto}
.sc-hero.sc-hero.sc-hero--text-small .sc-hero__content :is(h1, h2):where(:not(h2), .sc-auto-page-heading){font-size:clamp(1.75rem,3vw,2.5rem)}
.sc-hero.sc-hero.sc-hero--text-large .sc-hero__content{width:min(780px,100%)}
.sc-hero.sc-hero.sc-hero--text-large .sc-hero__content :is(h1, h2):where(:not(h2), .sc-auto-page-heading){font-size:clamp(2.5rem,5.4vw,5rem)}
.sc-hero__title-secondary{display:block;font-size:.55em;font-weight:400}
.sc-button-icon{display:inline-block;width:1em;height:1em;margin-left:.5em;vertical-align:-.125em}

/* Slider header settings: height, hidden buttons. */
.sc-hero.sc-hero.sc-hero--height{min-height:var(--sc-hero-height)}
.sc-hero--no-controls .sc-hero__controls{display:none}
.sc-hero--no-controls:focus-visible{outline:3px solid var(--sc-accent,currentColor);outline-offset:-3px}
/* About: a feature number above the heading. */
.sc-split__number{display:block;margin-bottom:18px;font-family:var(--sc-sans,inherit);font-size:13px;font-weight:500;line-height:1;letter-spacing:.14em;color:var(--sc-accent,inherit)}
/* Video or tour: the comfortable tour height. */
.sc-embed.sc-embed--tour{min-height:min(480px,70svh)}
/* Photo: a caption for screen readers only. */
.sc-caption-hidden figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Text over a photo ribbon. */
.sc-slider-over{position:relative}
.sc-slider-over>.sc-slider-over__copy{position:absolute;z-index:2;right:max(8vw,calc((100vw - 120svh)/2 + 40px));bottom:40px;box-sizing:border-box;width:min(620px,calc(100% - 80px));margin:0;padding:36px 40px;border:1px solid #ffffff80;border-radius:calc(26px*var(--sc-radius-scale,1));background:color-mix(in srgb,var(--sc-paper,#fff) 75%,transparent);-webkit-backdrop-filter:blur(40px) saturate(1.5);backdrop-filter:blur(40px) saturate(1.5);box-shadow:var(--sc-shadow,0 8px 32px #0000001f)}
.sc-slider-over .natural-photo-slider[data-nps-controls-position="overlay"] .natural-photo-slider__controls{z-index:3;left:20px;right:auto;bottom:10px;transform:none}
@media (max-width:640px){.sc-slider-over>.sc-slider-over__copy{position:relative;right:auto;bottom:auto;width:calc(100% - 40px);margin:-48px auto 8px;padding:24px}
.sc-slider-over .natural-photo-slider[data-nps-controls-position="overlay"] .natural-photo-slider__controls{bottom:58px}}
/* Contact: heading, details and form share one card. */
.sc-contact-card{max-width:920px;margin-inline:auto}
.sc-contact-card .sc-contact.sc-contact{max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
/* Breadcrumb trail and page links. */
.sc-page-trail{margin-block:16px 8px;font-size:14px;color:var(--sc-muted,inherit)}
.sc-page-trail ol{display:flex;flex-wrap:wrap;gap:4px 8px;padding:0;margin:0;list-style:none}
.sc-page-trail li{margin:0}
.sc-page-trail li+li::before{content:"\203A";margin-right:8px}
.sc-page-nav{padding:8px;margin-block:0 16px;border:1px solid var(--sc-line,#d9d4cc);border-radius:calc(18px*var(--sc-radius-scale,1));background:var(--sc-paper,#fff);box-shadow:0 4px 18px #00000012}
.sc-page-nav ul{display:flex;gap:4px;justify-content:center;padding:0;margin:0;overflow-x:auto;list-style:none}
.sc-page-nav li{flex:none;margin:0}
.sc-page-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border-radius:12px;text-decoration:none}
.sc-page-nav a[aria-current="page"]{background:var(--sc-heading,#222);color:var(--sc-paper,#fff)}
.sc-page-nav--sticky{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 8px);z-index:30}

/* Heading's optional eyebrow: the same short rule as a Header, in the text's colour. */
.sc-heading-eyebrow{margin:0 0 14px;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
.sc-heading-eyebrow::after{content:"";display:block;width:clamp(72px,7vw,104px);max-width:100%;height:1px;margin-top:10px;background:color-mix(in srgb,currentColor 45%,transparent)}
.sc-heading-eyebrow.has-text-align-center::after{margin-inline:auto}
.sc-heading-eyebrow.has-text-align-right::after{margin-left:auto}
.sc-heading-eyebrow.has-text-align-left{text-align:left}
.sc-heading-eyebrow.has-text-align-center{text-align:center}
.sc-heading-eyebrow.has-text-align-right{text-align:right}
:is(.entry-content,.editor-styles-wrapper) .sc-heading-eyebrow + :is(h1,h2,h3,h4,h5,h6,[data-type="core/heading"]){margin-block-start:0}
