:root{--colour-primary: #16150f;--colour-primary-strong: #000000;--colour-secondary: #16150f;--colour-accent: #8a4b2a;--colour-accent-strong: #6d3a1f;--colour-background: #f2efe8;--colour-surface: #f2efe8;--colour-surface-alt: #e6e1d6;--colour-text: #16150f;--colour-text-invert: #f2efe8;--colour-muted: #635d52;--colour-border: #16150f;--colour-rule: #c9c2b4;--colour-success: #2f5d3a;--colour-error: #8f2318;--colour-focus: #8a4b2a;--font-heading: "Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--font-body: "Iowan Old Style",Palatino,Georgia,"Times New Roman",serif;--font-label: ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--font-size-xs: 0.6875rem;--font-size-sm: 0.8125rem;--font-size-md: 1.0625rem;--font-size-lg: clamp(1.2rem,1.05rem + 0.7vw,1.5rem);--font-size-xl: clamp(1.6rem,1.2rem + 1.8vw,2.4rem);--font-size-2xl: clamp(2.1rem,1.5rem + 2.8vw,3.4rem);--font-size-3xl: clamp(2.9rem,1.6rem + 6vw,6.5rem);--line-height-body: 1.62;--line-height-heading: 1.02;--tracking-label: 0.16em;--space-xs: 0.375rem;--space-sm: 0.75rem;--space-md: 1.5rem;--space-lg: 2.75rem;--space-xl: 4.5rem;--space-2xl: clamp(5rem,3rem + 8vw,11rem);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--rule: 1px solid var(--colour-rule);--rule-strong: 1px solid var(--colour-border);--content-width: 78rem}
*,*::before,*::after{box-sizing: border-box}*{margin: 0}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{font-family: var(--font-body);font-size: var(--font-size-md);line-height: var(--line-height-body);color: var(--colour-text);background-color: var(--colour-background);-webkit-font-smoothing: antialiased}h1,h2,h3,h4{font-family: var(--font-heading);line-height: var(--line-height-heading);color: var(--colour-primary-strong);font-weight: 700;text-wrap: balance}h1{font-size: var(--font-size-3xl)}h2{font-size: var(--font-size-2xl)}h3{font-size: var(--font-size-lg)}p{max-width: 65ch}a{color: var(--colour-primary);text-decoration-thickness: 1px;text-underline-offset: 0.15em}a:hover{color: var(--colour-accent-strong)}img,svg{display: block;max-width: 100%;height: auto}ul,ol{padding-inline-start: 1.25rem}.container{width: min(var(--content-width),100% - 2.5rem);margin-inline: auto}.section{padding-block: var(--space-2xl)}.section__head{max-width: 46rem;margin-block-end: var(--space-xl)}.section__head .lead{margin-block-start: var(--space-sm)}.lead{font-size: var(--font-size-lg);color: var(--colour-muted)}.skip-link{position: absolute;inset-inline-start: 1rem;inset-block-start: -100%;z-index: 100;padding: 0.6rem 1rem;background: var(--colour-primary-strong);color: var(--colour-text-invert);border-radius: var(--radius-sm)}.skip-link:focus{inset-block-start: 1rem;color: var(--colour-text-invert)}.visually-hidden{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}:focus-visible{outline: 3px solid var(--colour-focus);outline-offset: 2px;border-radius: 2px}.hp-field{position: absolute !important;inset-inline-start: -9999px !important;width: 1px;height: 1px;overflow: hidden}.button{display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;padding: 0.8rem 1.6rem;border: 2px solid transparent;border-radius: var(--radius-md);font-family: var(--font-heading);font-size: var(--font-size-md);font-weight: 600;line-height: 1.2;text-decoration: none;cursor: pointer;transition: background-color 160ms ease,color 160ms ease,border-color 160ms ease,transform 160ms ease}.button--primary{background-color: var(--colour-accent);color: var(--colour-secondary)}.button--primary:hover{background-color: var(--colour-accent-strong);color: var(--colour-secondary);transform: translateY(-1px)}.button--ghost{background-color: transparent;color: inherit;border-color: currentColor}.button--ghost:hover{background-color: rgba(255,255,255,0.12);color: inherit}.button[disabled]{opacity: 0.6;cursor: not-allowed;transform: none}label{display: block;font-weight: 600;margin-block-end: 0.3rem}input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="date"],select,textarea{width: 100%;padding: 0.7rem 0.9rem;font: inherit;color: var(--colour-text);background-color: var(--colour-surface);border: 1px solid var(--colour-border);border-radius: var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline: 3px solid var(--colour-focus);outline-offset: 1px;border-color: var(--colour-focus)}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color: var(--colour-error)}textarea{resize: vertical;min-height: 8rem}.form-required{color: var(--colour-error)}.form-optional{font-weight: 400;color: var(--colour-muted);font-size: var(--font-size-sm)}.form-error{min-height: 1.2em;margin-block-start: 0.25rem;font-size: var(--font-size-sm);color: var(--colour-error)}.form-error:empty{margin: 0;min-height: 0}.alert{padding: 0.9rem 1.1rem;border-radius: var(--radius-sm);border: 1px solid transparent;margin-block-end: var(--space-md);max-width: none}.alert--success{background-color: #e8f5ec;border-color: #bfe3cc;color: #14532d}.alert--error{background-color: #fdeceb;border-color: #f5c6c3;color: #7f1d1d}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important}}
.site-header{border-block-end: var(--rule-strong);background-color: var(--colour-background)}.site-header__inner{display: flex;align-items: baseline;gap: var(--space-lg);padding-block: var(--space-md)}.brand{display: inline-flex;align-items: baseline;gap: 0.6rem;font-family: var(--font-heading);font-size: var(--font-size-lg);font-weight: 400;letter-spacing: -0.01em;color: var(--colour-text);text-decoration: none}.brand__mark{align-self: center}.brand__mark svg{width: 1.6rem;height: 1.6rem}.site-nav{margin-inline-start: auto}.site-nav__list{display: flex;gap: var(--space-md);list-style: none;padding: 0;counter-reset: nav}.site-nav__list a{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-text);text-decoration: none;padding-block-end: 2px;border-block-end: 1px solid transparent}.site-nav__list li{counter-increment: nav}.site-nav__list a::before{content: counter(nav,decimal-leading-zero) " ";color: var(--colour-muted)}.site-nav__list a:hover{color: var(--colour-accent);border-block-end-color: var(--colour-accent)}.site-nav__list a[aria-current="page"]{border-block-end-color: var(--colour-border)}.site-header__actions{display: flex;align-items: center;gap: var(--space-md)}.header-phone{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-text);text-decoration: none;white-space: nowrap}.header-phone:hover{color: var(--colour-accent)}.header-phone__icon{display: none}.nav-toggle{display: none;align-items: center;gap: 0.5rem;padding: 0.35rem 0;font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-text);background: none;border: 0;border-block-end: 1px solid var(--colour-border);cursor: pointer}.nav-toggle__bars{display: inline-flex;flex-direction: column;gap: 3px}.nav-toggle__bars span{display: block;width: 15px;height: 1px;background-color: currentColor;transition: transform 180ms ease,opacity 180ms ease}@media (max-width: 849px){.site-header__inner{flex-wrap: wrap;align-items: center;gap: var(--space-sm)}.site-header__actions{margin-inline-start: auto}.nav-toggle{display: inline-flex}.site-nav{display: none;flex-basis: 100%;margin: 0;order: 3}body.nav-open .site-nav{display: block;border-block-start: var(--rule);padding-block-start: var(--space-sm)}body.nav-open .nav-toggle__bars span:nth-child(1){transform: translateY(4px) rotate(45deg)}body.nav-open .nav-toggle__bars span:nth-child(2){opacity: 0}body.nav-open .nav-toggle__bars span:nth-child(3){transform: translateY(-4px) rotate(-45deg)}.site-nav__list{flex-direction: column;gap: 0}.site-nav__list a{display: block;padding-block: 0.7rem;font-size: var(--font-size-sm);border-block-end: var(--rule)}.header-phone{display: none}}.hero{border-block-end: var(--rule-strong)}.hero__inner{padding-block: clamp(3.5rem,2rem + 7vw,8rem) var(--space-xl)}.hero__eyebrow{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted);margin-block-end: var(--space-lg);padding-block-end: var(--space-sm);border-block-end: var(--rule)}.hero__title{max-width: 18ch;margin-block-end: var(--space-lg);font-weight: 400;letter-spacing: -0.025em}.hero__lead{max-width: 44ch;margin-inline-start: auto;font-size: var(--font-size-lg);color: var(--colour-muted);margin-block-end: var(--space-lg)}.hero__actions{display: flex;flex-wrap: wrap;gap: var(--space-md);justify-content: flex-end}@media (max-width: 799px){.hero__lead,.hero__actions{margin-inline-start: 0;justify-content: flex-start}}.hero__media{margin-block-start: var(--space-lg)}.hero__media img{width: 100%;border-block-start: var(--rule-strong);padding-block-start: var(--space-lg)}.cards{display: block;border-block-start: var(--rule-strong);counter-reset: index}.card{position: relative;display: grid;grid-template-columns: 4rem minmax(0,20ch) minmax(0,1fr) auto;align-items: baseline;gap: var(--space-md);padding-block: var(--space-md);border-block-end: var(--rule);counter-increment: index;transition: background-color 200ms ease}.card::before{content: counter(index,decimal-leading-zero);font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);color: var(--colour-muted)}.card:hover{background-color: var(--colour-surface-alt)}.card__icon{display: none}.card__title{font-size: var(--font-size-lg);font-weight: 400;letter-spacing: -0.01em}.card__link{color: inherit;text-decoration: none}.card__link::after{content: "";position: absolute;inset: 0}.card__text{color: var(--colour-muted);max-width: 52ch}.card__more{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-accent);white-space: nowrap}@media (max-width: 799px){.card{grid-template-columns: 2.5rem minmax(0,1fr);gap: var(--space-sm)}.card__text,.card__more{grid-column: 2}}.cta-banner{background-color: var(--colour-secondary);color: var(--colour-text-invert)}.cta-banner__inner{display: grid;grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);gap: var(--space-lg);align-items: end;padding-block: var(--space-2xl)}.cta-banner__title{color: inherit;font-size: var(--font-size-2xl);font-weight: 400;max-width: 16ch}.cta-banner__text{margin-block-start: var(--space-md);color: rgba(242,239,232,0.7)}.cta-banner__actions{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-md)}.cta-banner__phone{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: rgba(242,239,232,0.7)}.cta-banner__phone:hover{color: var(--colour-text-invert)}@media (max-width: 799px){.cta-banner__inner{grid-template-columns: 1fr}}.testimonials{display: grid;gap: 0;border-block-start: var(--rule-strong)}.testimonial{display: grid;grid-template-columns: minmax(0,2fr) minmax(0,1fr);gap: var(--space-lg);align-items: start;padding-block: var(--space-lg);border-block-end: var(--rule);margin: 0}.testimonial__quote p{font-size: var(--font-size-xl);line-height: 1.28;letter-spacing: -0.015em;max-width: 30ch;text-indent: -0.4em}.testimonial__quote p::before{content: "\201C"}.testimonial__quote p::after{content: "\201D"}.testimonial__by{display: flex;flex-direction: column;gap: 0.2rem;font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase}.testimonial__name{color: var(--colour-text)}.testimonial__meta{color: var(--colour-muted)}@media (max-width: 799px){.testimonial{grid-template-columns: 1fr;gap: var(--space-md)}}.faq{border-block-start: var(--rule-strong);max-width: 56rem}.faq__item{border-block-end: var(--rule)}.faq__question{padding-block: var(--space-md);font-family: var(--font-heading);font-size: var(--font-size-lg);font-weight: 400;cursor: pointer}.faq__question:hover{color: var(--colour-accent)}.faq__answer{padding-block-end: var(--space-md);color: var(--colour-muted);max-width: 62ch}.contact-layout{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);gap: var(--space-2xl);align-items: start}@media (max-width: 899px){.contact-layout{grid-template-columns: 1fr;gap: var(--space-xl)}}.contact-form{border-block-start: var(--rule-strong);padding-block-start: var(--space-lg)}.form-grid{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-md)}.form-field--full{grid-column: 1 / -1}@media (max-width: 599px){.form-grid{grid-template-columns: 1fr}}.form-privacy{margin-block: var(--space-md);font-size: var(--font-size-sm);color: var(--colour-muted)}.contact-details__list{display: grid;gap: 0;list-style: none;padding: 0;border-block-start: var(--rule-strong)}.contact-details__list li{padding-block: var(--space-md);border-block-end: var(--rule)}.contact-details__item{display: grid;grid-template-columns: 10rem minmax(0,1fr);gap: var(--space-md);align-items: baseline}.contact-details__icon{display: none}.contact-details__label{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted)}.contact-details__value{font-size: var(--font-size-lg)}@media (max-width: 599px){.contact-details__item{grid-template-columns: 1fr;gap: 0.2rem}}.breadcrumbs{padding-block: var(--space-md) 0;font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase}.breadcrumbs__list{display: flex;flex-wrap: wrap;gap: 0.5rem;list-style: none;padding: 0;color: var(--colour-muted)}.breadcrumbs__list a{color: inherit}.breadcrumbs__list a:hover{color: var(--colour-accent)}.breadcrumbs__list li + li::before{content: "→";margin-inline-end: 0.5rem}.image-text{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: var(--space-xl);align-items: start;border-block-start: var(--rule-strong);padding-block-start: var(--space-lg)}.image-text__title{font-size: var(--font-size-xl);font-weight: 400;letter-spacing: -0.02em;max-width: 14ch}.image-text__body{max-width: 60ch}.image-text--reverse .image-text__media{order: -1}@media (max-width: 799px){.image-text{grid-template-columns: 1fr;gap: var(--space-md)}.image-text--reverse .image-text__media{order: 0}}.site-footer{border-block-start: var(--rule-strong);font-size: var(--font-size-sm)}.site-footer a{color: var(--colour-text);text-decoration: none;border-block-end: 1px solid var(--colour-rule)}.site-footer a:hover{color: var(--colour-accent);border-block-end-color: var(--colour-accent)}.site-footer__grid{display: grid;grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr));gap: var(--space-lg);padding-block: var(--space-xl)}.site-footer__brand{font-family: var(--font-heading);font-size: var(--font-size-xl);letter-spacing: -0.02em;margin-block-end: var(--space-sm)}.site-footer__about p{max-width: 34ch;color: var(--colour-muted)}.site-footer__heading{font-family: var(--font-label);font-size: var(--font-size-xs);font-weight: 400;letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted);margin-block-end: var(--space-md)}.site-footer__list{display: grid;gap: 0.55rem;list-style: none;padding: 0}.site-footer__legal{padding-block: var(--space-md);border-block-start: var(--rule);font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: 0.04em;color: var(--colour-muted)}@media (max-width: 699px){.site-footer__grid{grid-template-columns: 1fr;gap: var(--space-lg)}}
.flow > * + *{margin-block-start: var(--space-md)}.text-center{text-align: center}.grid-2{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(18rem,100%),1fr));gap: var(--space-md)}.grid-3{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(14rem,100%),1fr));gap: var(--space-md)}.mt-lg{margin-block-start: var(--space-lg)}.mt-xl{margin-block-start: var(--space-xl)}
h1,h2,h3,h4{font-weight: 400;letter-spacing: -0.02em}main a{color: inherit;text-decoration-color: var(--colour-rule);text-underline-offset: 0.22em}main a:hover{color: var(--colour-accent);text-decoration-color: var(--colour-accent)}.section__head{max-width: none;display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);gap: var(--space-lg);align-items: end;margin-block-end: var(--space-lg)}.section__head h2{font-size: var(--font-size-2xl);max-width: 14ch}.section__head .lead{margin: 0;max-width: 46ch}@media (max-width: 799px){.section__head{grid-template-columns: 1fr;gap: var(--space-sm)}}.eyebrow{display: block;font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted);margin-block-end: var(--space-sm)}.section--alt{background-color: var(--colour-surface-alt);border-block: var(--rule-strong)}.section + .section:not(.section--alt){padding-block-start: 0}.page-intro{border-block-end: var(--rule-strong)}.page-intro__inner{max-width: none;padding-block: var(--space-lg) var(--space-xl)}.page-intro h1{max-width: 16ch;margin-block: var(--space-lg) var(--space-md);font-size: var(--font-size-3xl)}.page-intro .lead{max-width: 46ch;margin-inline-start: auto;font-size: var(--font-size-lg);color: var(--colour-muted)}@media (max-width: 799px){.page-intro .lead{margin-inline-start: 0}}.button{padding: 0.7rem 0;border: 0;border-block-end: 1px solid currentColor;border-radius: 0;font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;background: none}.button--primary{background: none;color: var(--colour-text)}.button--primary:hover{background: none;color: var(--colour-accent);transform: none}.button--ghost{color: var(--colour-muted)}.button--ghost:hover{background: none;color: var(--colour-text)}.cta-banner .button--primary{color: var(--colour-text-invert)}.cta-banner .button--primary:hover{color: var(--colour-text-invert);opacity: 0.72}input[type="text"],input[type="email"],input[type="tel"],textarea{padding: 0.55rem 0;background: none;border: 0;border-block-end: var(--rule-strong);border-radius: 0;font-family: var(--font-body)}input[type="text"]:focus-visible,input[type="email"]:focus-visible,input[type="tel"]:focus-visible,textarea:focus-visible{outline: 2px solid var(--colour-accent);outline-offset: 3px}label{font-family: var(--font-label);font-size: var(--font-size-xs);font-weight: 400;letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted);margin-block-end: 0.4rem}.form-optional{text-transform: none;letter-spacing: 0}.alert{border-radius: 0;border: 0;border-inline-start: 3px solid;background: none;padding: 0.4rem 0 0.4rem 1rem}.alert--success{border-color: var(--colour-success);color: var(--colour-success)}.alert--error{border-color: var(--colour-error);color: var(--colour-error)}.plate{display: block;text-decoration: none;color: inherit;border-block-start: var(--rule-strong);padding-block-start: var(--space-md)}.plate__figure{margin: 0;overflow: hidden}.plate__figure img{width: 100%;display: block;transition: transform 600ms cubic-bezier(0.2,0.7,0.2,1)}.plate:hover .plate__figure img{transform: scale(1.02)}.plate__meta{display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-md);margin-block-end: var(--space-md);font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted)}.plate__title{font-family: var(--font-heading);font-size: var(--font-size-lg);letter-spacing: -0.01em;text-transform: none;color: var(--colour-text)}.plate:hover .plate__title{color: var(--colour-accent)}.plates{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(22rem,100%),1fr));gap: var(--space-xl) var(--space-lg)}.facts{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(11rem,100%),1fr));gap: var(--space-md);border-block: var(--rule-strong);padding-block: var(--space-md)}.facts__item dt{font-family: var(--font-label);font-size: var(--font-size-xs);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--colour-muted);margin-block-end: 0.3rem}.facts__item dd{margin: 0;font-size: var(--font-size-lg)}
