/* Three roles govern presentation: primary composition, secondary grouping,
   tertiary reading and utility. See DESIGN_SYSTEM.md. */
:root{
 color-scheme:light;
 --surface-primary:#e6dfd3;
 --surface-secondary:#f5efe5;
 --surface-tertiary:#fcf8f0;
 /* Light belongs to whole compositions; these use only the approved surfaces. */
 --surface-illuminated:linear-gradient(155deg,var(--surface-tertiary),var(--surface-secondary) 70%);
 --surface-grounded:linear-gradient(155deg,var(--surface-secondary),var(--surface-primary));
 --photo-lift:0 8px 14px rgb(44 96 125 / 8%);
 --ink-primary:#2c607d;
 --ink-secondary:#4b504b;
 --ink-tertiary:#60645b;
 --rule-color:#c8c2b6;
 --stroke-primary:3px;
 --stroke-secondary:1.25px;
 --stroke-tertiary:1px;
 --space-primary:clamp(40px,4vw,64px);
 --space-secondary:clamp(24px,2.5vw,36px);
 --space-tertiary:clamp(12px,1.2vw,18px);
 --type-primary:clamp(2.125rem,3.5vw,3.5rem);
 --type-secondary:clamp(1.375rem,1.7vw,1.75rem);
 --type-tertiary:clamp(1rem,.97rem + .2vw,1.125rem);
 --type-tertiary-compact:.875rem;
 --leading-primary:1.18;
 --leading-secondary:1.35;
 --leading-tertiary:1.65;
 --tracking-primary:.035em;
 --tracking-secondary:.075em;
 --tracking-tertiary:.015em;
 --font-display:Marcellus,Georgia,serif;
 --font-reading:Manrope,'Helvetica Neue',Arial,sans-serif;
 --measure-primary:22ch;
 --measure-secondary:34ch;
 --measure-tertiary:48ch;
 --site-width:min(calc(100% - 80px),1560px);
 --control-height:52px;
 --focus-ring:3px;
 --ui-time:180ms;
 --easing:cubic-bezier(.25,1,.5,1);
 --hover-surface:#e9e4da;
 --paper:var(--surface-primary);
 --header-surface:var(--surface-secondary);
 --white:var(--surface-tertiary);
 --navy:var(--ink-primary);
 --ink:var(--ink-secondary);
 --muted:var(--ink-tertiary);
 --rule:var(--rule-color);
 --frame-outer:var(--stroke-secondary);
 --frame-inner-inset:7px;
 --frame-inner:var(--stroke-tertiary);
 --frame-image-inset:13px;
 --frame-ink:var(--ink-primary);
 --frame-band:var(--rule-color);
 --photo-brightness:.92;
 --photo-saturation:.88;
 --photo-contrast:.95;
}
@media(max-width:900px){:root{--site-width:calc(100% - 40px)}}
@media(max-width:700px){:root{--site-width:calc(100% - 32px);--space-primary:36px;--space-secondary:24px;--space-tertiary:14px;--type-primary:clamp(2rem,7vw,2.5rem)}}

@font-face{font-family:Marcellus;src:url('/media/marcellus.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/media/manrope.woff') format('woff');font-weight:200 800;font-style:normal;font-display:swap}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--surface-primary);color:var(--ink-secondary);font:400 var(--type-tertiary)/var(--leading-tertiary) var(--font-reading);font-kerning:normal;font-synthesis:none;text-align:center;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:var(--leading-primary);color:var(--ink-primary);text-wrap:balance;overflow-wrap:normal}
p,li,figcaption{text-wrap:pretty}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;touch-action:manipulation}
button,select{cursor:pointer}
button{border:0}
img{display:block;max-width:100%}
svg{width:20px;height:20px;flex:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring) solid var(--ink-primary);outline-offset:4px}
[hidden]{display:none!important}
::selection{background:var(--ink-primary);color:var(--surface-tertiary)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.skip{position:fixed;left:16px;top:-100px;z-index:30;background:var(--surface-tertiary);padding:14px 20px;font-size:var(--type-tertiary-compact)}
.skip:focus{top:16px}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{margin:0 0 var(--space-tertiary);padding:0;width:100%;text-align:center}
input[type=radio],input[type=checkbox]{accent-color:var(--ink-primary);width:22px;height:22px;flex:none;margin:0}
textarea{resize:vertical}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* PRIMARY: one complete composition per section. */
.primary-field,.site-header,.site-footer{position:relative;background:var(--surface-secondary);border-block:var(--stroke-primary) solid var(--ink-primary)}
.primary-field,.site-footer{background-image:var(--surface-illuminated)}
.story-surface,.work-evidence,.contact-surface{background-image:var(--surface-grounded)}
.primary-field::before,.site-header::before,.site-footer::before{content:'';position:absolute;top:10px;left:24px;right:24px;height:var(--stroke-secondary);background:var(--rule-color);pointer-events:none}
.primary-field::after,.site-footer::after{content:'';position:absolute;bottom:9px;left:24px;right:24px;height:var(--stroke-secondary);background:var(--rule-color);pointer-events:none}
.services-section,.work-evidence,.enhancement-band,.contact-surface,.story-surface{width:var(--site-width);margin:var(--space-primary) auto 0;padding:var(--space-secondary);scroll-margin-top:24px}
.type-primary,.chapter-title>span:last-child,.composed-heading>span:last-child,.section-caption :is(h2,h3)>span:last-child,.story-heading,.page-heading h1{font:400 var(--type-primary)/var(--leading-primary) var(--font-display);letter-spacing:var(--tracking-primary);color:var(--ink-primary);overflow-wrap:anywhere;hyphens:auto}
.chapter-title>span,.composed-heading>span,.section-caption :is(h2,h3)>span{display:block}
.chapter-title>span:last-child,.composed-heading>span:last-child,.section-caption :is(h2,h3)>span:last-child{margin-top:10px;text-transform:uppercase}
.chapter-title>span:first-child,.composed-heading>span:first-child,.section-caption :is(h2,h3)>span:first-child,.story-kicker{font:600 var(--type-tertiary-compact)/var(--leading-tertiary) var(--font-reading);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-primary)}
.chapter-header,.section-caption,.contact-masthead{margin:0 0 var(--space-secondary);text-align:center}
.identity-divider{display:none}

/* SECONDARY: subordinate headings share one scale and weight. */
.type-secondary,.season-name,.work-title,.improvement-name,.people-roles dt,.project-invitation,.family-lead,.request-confirmation h3,.request-record h2{font:400 var(--type-secondary)/var(--leading-secondary) var(--font-display);letter-spacing:var(--tracking-secondary);color:var(--ink-primary)}
/* TERTIARY: readable text and precise supporting labels. */
.type-tertiary,.season-summary,.improvement-detail,.family-introduction,.inquiry-introduction,.owner-role,.contact-action-value,.contact-towns,.request-confirmation p{font:400 var(--type-tertiary)/var(--leading-tertiary) var(--font-reading);letter-spacing:var(--tracking-tertiary);color:var(--ink-secondary)}
.work-detail,.owner-title,.contact-action-label,.contact-action-note,.contact-area-label,.area-note,.masthead-note,.footer-est,.field-label,.field-note,.record-status,.insurance-assurance{font:400 var(--type-tertiary-compact)/var(--leading-tertiary) var(--font-reading)}

/* Three action levels: decisive fill, quiet outline, contextual text. */
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-tertiary);min-height:56px;max-width:100%;padding:17px 26px;border:var(--stroke-tertiary) solid var(--ink-primary);border-radius:6px;background:var(--ink-primary);color:var(--surface-tertiary);font:600 var(--type-tertiary-compact)/1.5 var(--font-reading);letter-spacing:.1em;text-transform:uppercase;text-align:center;box-shadow:0 3px 8px rgb(44 96 125 / 9%);transition:background-color var(--ui-time) var(--easing),color var(--ui-time) var(--easing),box-shadow var(--ui-time) var(--easing)}
.button::before{content:'';position:absolute;inset:4px;border:var(--stroke-tertiary) solid currentColor;border-radius:2px;opacity:.3;pointer-events:none}
.button:active{background:var(--hover-surface);color:var(--ink-primary);box-shadow:inset 0 1px 3px rgb(44 96 125 / 8%)}
.button-secondary{background:var(--surface-tertiary);color:var(--ink-primary)}
.button-secondary::before{border-color:var(--rule-color);opacity:1}
.button-tertiary{border:0;background:transparent;color:var(--ink-primary);padding-inline:4px;box-shadow:none}
.button-tertiary::before{display:none}
.button-tertiary:active{background:transparent;text-decoration:underline;text-underline-offset:5px;box-shadow:none}
.button:disabled{opacity:.7;cursor:wait}
.button svg{width:20px;height:20px;stroke-width:1.5;transition:transform var(--ui-time) var(--easing)}
.text-link,.back-home{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-tertiary);min-height:44px;font-size:var(--type-tertiary-compact);text-decoration:underline;text-underline-offset:4px}

/* The approved wordmark remains the dominant opening; navigation is secondary. */
.site-header{width:var(--site-width);margin:24px auto 0;color:var(--ink-primary)}
.masthead-top{position:relative;display:flex;justify-content:center;padding:40px 24px 34px;border-bottom:var(--stroke-primary) solid var(--ink-primary)}
.masthead-top::after,.footer-identity::after{content:'';position:absolute;left:24px;right:24px;bottom:9px;height:var(--stroke-secondary);background:var(--rule-color);pointer-events:none}
.masthead-signature{display:flex;justify-content:center;min-width:0;width:100%}
.masthead-wordmark{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;color:var(--ink-primary);text-align:center;text-transform:uppercase}
.masthead-name{display:block;width:clamp(280px,35vw,520px);height:auto;max-width:100%;overflow:visible}
.masthead-wordmark>span:last-child{font:600 .9375rem/1.6 var(--font-reading);letter-spacing:1.05em;padding-left:1.05em}
.masthead-signature .masthead-name{width:clamp(480px,42vw,600px)}
.masthead-signature .masthead-wordmark>span:last-child{font-size:1rem}
.site-header nav{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;padding:0 clamp(16px,8vw,120px);border-top:var(--stroke-primary) solid var(--ink-primary);background:var(--surface-secondary);box-shadow:0 -18px 0 var(--surface-primary)}
.site-header nav::before{content:'';position:absolute;left:24px;right:24px;top:8px;height:var(--stroke-secondary);background:var(--rule-color);pointer-events:none}
.site-header nav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;padding:14px 18px;font:600 var(--type-tertiary-compact)/1.6 var(--font-reading);letter-spacing:.14em;text-transform:uppercase;text-wrap:balance}
.site-header nav a::after{content:'';position:absolute;bottom:10px;left:calc(50% - 18px);width:36px;height:var(--stroke-tertiary);background:var(--ink-primary);transform:scaleX(0);transition:transform var(--ui-time) var(--easing)}
.site-header nav a:active::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}

/* Original identity and photography, followed by one useful contact group. */
.property-cover{--intro-width:clamp(300px,37vw,520px);width:var(--site-width);margin:var(--space-secondary) auto 0;display:grid;grid-template-columns:var(--intro-width) minmax(0,1fr);gap:24px var(--space-primary);align-items:stretch}
.brand-signature{display:flex;align-items:center;justify-content:center;min-width:0}
.intro-emblem{width:100%;height:auto;max-width:520px;aspect-ratio:880/1064;filter:drop-shadow(0 5px 8px rgb(44 96 125 / 6%))}
.cover-work{position:relative;min-width:0;min-height:0}
.cover-photos{position:absolute;inset:0}
.cover-actions{grid-column:1/-1;display:flex;justify-content:center;align-items:stretch;gap:var(--space-tertiary)}
.contact-call>span{display:grid;gap:3px}
.call-number{font-size:1rem;letter-spacing:.045em;font-variant-numeric:lining-nums tabular-nums}
.insurance-assurance{container:assurance / inline-size;display:grid;justify-items:center;gap:12px;width:min(100%,25rem);margin:var(--space-secondary) auto 0;max-width:var(--measure-tertiary);color:var(--ink-tertiary);text-align:center}
.assurance-mark{display:grid;justify-items:center;gap:6px;max-width:100%;color:var(--ink-primary)}
.assurance-word{display:flex;align-items:center;justify-content:center;gap:14px;max-width:100%}
.assurance-bracket{width:1rem;height:2rem;flex:none}
.assurance-bracket-end{transform:scaleX(-1)}
.assurance-note{max-width:30ch;text-wrap:balance}
@container assurance (max-width:14rem){.assurance-bracket{display:none}.assurance-word{gap:0}}
.property-cover>.insurance-assurance{grid-column:1/-1;margin:0 auto}

/* Photographic contours are secondary, never another primary section border. */
.signature-frame{position:relative;isolation:isolate;border:var(--frame-outer) solid var(--ink-primary);background:var(--surface-tertiary);filter:drop-shadow(var(--photo-lift))}
.photo{height:100%;min-width:0;min-height:0;padding:var(--frame-image-inset);overflow:hidden}
.photo-window{position:absolute;inset:var(--frame-image-inset);overflow:hidden;background:var(--surface-tertiary) var(--preview) center/cover no-repeat}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(var(--photo-brightness)) saturate(var(--photo-saturation)) contrast(var(--photo-contrast))}
.contour-frame .content-frame{position:absolute;inset:calc(-1 * var(--frame-outer));width:calc(100% + 2 * var(--frame-outer));height:calc(100% + 2 * var(--frame-outer));z-index:-1;pointer-events:none;visibility:hidden;overflow:visible}
.contour-outer{fill:var(--frame-ink)}
.contour-mat,.contour-surface{fill:var(--surface-tertiary)}
.contour-inner{fill:var(--frame-band)}
.contour-frame[data-frame-ready]{border-color:transparent;background:transparent}
.contour-frame[data-frame-ready]>.content-frame{visibility:visible}
.photo.contour-frame{overflow:visible}
.cover-photos .photo img{object-position:65% 65%;transform:scale(1.18);transform-origin:100% 65%}

/* One seasonal composition: a primary introduction, four concise entries, one invitation. */
.services-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);grid-template-areas:'heading seasons' 'action seasons';gap:var(--space-secondary) var(--space-primary)}
.care-header{container:care-heading / inline-size;grid-area:heading;align-self:end;display:grid;justify-items:center;gap:var(--space-secondary);min-width:0;margin:0}
.care-header .chapter-title{width:100%;min-width:0}
.care-header .chapter-title>.care-title-text{font-size:min(var(--type-primary),calc(100cqw / 5.1));white-space:normal;overflow-wrap:normal;hyphens:none;padding-left:var(--tracking-primary);text-wrap:balance}
/* Shared live typography and quiet linework for seasonal care and insurance. */
.message-display{font:400 var(--type-secondary)/1.2 var(--font-display);letter-spacing:.14em;padding-left:.14em;text-transform:uppercase;white-space:nowrap}
.message-label{font:600 var(--type-tertiary-compact)/1.5 var(--font-reading);letter-spacing:.12em;padding-left:.12em;text-transform:uppercase;text-wrap:balance}
.message-paths{fill:none;stroke:var(--rule-color);stroke-width:var(--stroke-tertiary);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bracketed-group{position:relative;min-width:0;max-width:100%;padding:12px 22px}
.bracketed-group::before,.bracketed-group::after{content:'';position:absolute;inset-block:0;width:12px;border:var(--stroke-tertiary) solid var(--rule-color);pointer-events:none}
.bracketed-group::before{left:0;border-right:0;border-radius:8px 0 0 8px}
.bracketed-group::after{right:0;border-left:0;border-radius:0 8px 8px 0}
.season-signature{display:grid;justify-items:center;gap:9px;width:fit-content;max-width:100%;min-width:0;margin:0;color:var(--ink-primary)}
.season-signature .message-display,.contact-area-label .message-display{white-space:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.season-signature .message-display{font-size:min(var(--type-secondary),calc(100cqw / 6.7))}
.service-list{grid-area:seasons;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-secondary);align-content:center}
.season-entry{min-width:0;padding-block:var(--space-tertiary);scroll-margin-top:24px}
.season-name{text-transform:uppercase;margin:0 0 var(--space-tertiary);padding-left:var(--tracking-secondary)}
.season-summary{max-width:var(--measure-secondary);margin:0 auto;text-wrap:balance}
.seasonal-action{grid-area:action;align-self:start;text-align:center}
.service-help{margin:var(--space-secondary) auto 0}

/* The work gallery keeps its original framing, crops and caption placement. */
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-secondary)}
.work-example{display:flex;flex-direction:column;height:auto;view-timeline-name:--work-arrival;view-timeline-axis:block}
.work-example .photo-window{position:relative;inset:auto;flex:none;width:100%;height:auto;aspect-ratio:3/2}
.work-example figcaption{position:relative;flex:1;padding:var(--space-tertiary) 8px 4px;text-align:center}
.work-title,.work-detail{display:block}
.work-title{letter-spacing:.18em;padding-left:.18em;text-transform:uppercase;text-wrap:balance}
.work-detail{margin-top:6px;color:var(--ink-secondary)}
.work-grid [data-photo=work-garden-beds] img{object-position:50% 85%}
.work-grid [data-photo=work-lawn-finish] img{object-position:50% 80%}
.work-grid [data-photo=work-snow-service] img{object-position:50% 78%}

/* Scope and invitation sit within a single composed field. */
.improvements-caption :is(h2,h3)>span:last-child{white-space:nowrap;overflow-wrap:normal;hyphens:none}
.enhancement-scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-secondary);margin:0;padding:0;list-style:none}
.enhancement-scope li{min-width:0}
.improvement-name{margin:0 0 var(--space-tertiary);letter-spacing:.025em}
.improvement-detail{max-width:var(--measure-secondary);margin:0 auto}
.enhancement-action{margin-top:var(--space-secondary);padding-top:var(--space-secondary);border-top:var(--stroke-tertiary) solid var(--rule-color)}
.project-invitation{max-width:var(--measure-secondary);margin:0 auto var(--space-tertiary);letter-spacing:.025em;text-wrap:balance}

/* A short story: one idea, followed by the people responsible for the care. */
.early-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-primary);align-items:center}
.early-story .contact-masthead{margin:0}
.story-kicker{margin-bottom:var(--space-tertiary)}
.story-heading{max-width:var(--measure-primary);margin:0 auto;letter-spacing:.015em}
.family-lead{margin:0 auto var(--space-tertiary);max-width:var(--measure-secondary);letter-spacing:.025em}
.family-introduction{max-width:var(--measure-tertiary);margin:0 auto}
.family-introduction p+p{margin-top:var(--space-tertiary)}

/* Contact is one primary field; owners, inquiry and coverage are subordinate. */
.contact{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:var(--space-secondary) var(--space-primary);align-items:start}
.contact-introduction,.request-panel{min-width:0}
.request-panel{padding-left:var(--space-secondary);border-left:var(--stroke-tertiary) solid var(--rule-color)}
.contact-masthead .masthead-note{margin-top:var(--space-tertiary);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-secondary)}
.people-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-tertiary);margin:var(--space-secondary) 0;padding:var(--space-tertiary);background:var(--surface-tertiary)}
.people-roles>div{min-width:0}
.people-roles dt{margin:0 0 8px;letter-spacing:.015em;overflow-wrap:anywhere}
.people-roles dd{display:grid;gap:8px;margin:0}
.owner-title{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-primary)}
.owner-role>span{display:block}
.direct-contact{background:var(--surface-tertiary)}
.contact-action{display:flex;align-items:center;justify-content:center;gap:var(--space-tertiary);min-height:80px;padding:var(--space-tertiary)}
.contact-action+.contact-action{border-top:var(--stroke-tertiary) solid var(--rule-color)}
.contact-action-copy{display:grid;gap:6px;min-width:0}
.contact-action-label{display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-primary)}
.contact-action-label svg{width:17px;height:17px}
.contact-action-value{font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.contact-action-note{color:var(--ink-tertiary)}
.contact-action:active{background:var(--hover-surface)}
.contact-area{grid-column:1/-1;padding-top:var(--space-secondary);border-top:var(--stroke-secondary) solid var(--rule-color)}
.contact-area-label{container:community-heading / inline-size;display:grid;justify-items:center;gap:6px;width:100%;margin:0 0 var(--space-secondary);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-primary)}
.contact-area-label .message-display{font-size:min(var(--type-secondary),calc(100cqw / 8.8))}
.community-places{width:min(100%,54rem);margin:0 auto}
.contact-towns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));align-items:center;gap:var(--space-tertiary);list-style:none;margin:0;padding:0;color:var(--ink-primary)}
.contact-towns li{min-width:0;text-wrap:balance}
.area-note{margin-top:var(--space-tertiary);color:var(--ink-tertiary)}
.inquiry-introduction{max-width:var(--measure-tertiary);margin:0 auto var(--space-secondary)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-tertiary)}
.full{grid-column:1/-1}
.field{display:block;min-width:0}
.field-label{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-weight:600;letter-spacing:.04em;color:var(--ink-primary)}
.field-note{font-weight:400;letter-spacing:0;color:var(--ink-tertiary)}
.field input,.field select,.field textarea,.inbox-toolbar select,.record-actions select{display:block;width:100%;min-width:0;min-height:var(--control-height);margin-top:7px;padding:12px 14px;border:var(--stroke-tertiary) solid var(--ink-primary);border-radius:0;background:var(--surface-tertiary);font:400 var(--type-tertiary)/1.5 var(--font-reading);text-align:center;text-align-last:center;transition:background-color var(--ui-time) var(--easing)}
.reply-choice{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-tertiary)}
.reply-choice label{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;cursor:pointer}
.service-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--space-tertiary)}
.service-choices label{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:8px;min-height:48px;padding:8px 4px;font-size:1rem;cursor:pointer}
.service-choices label>span{grid-column:2}
.service-choices label:has(input:checked){background:var(--surface-tertiary)}
.request-actions{display:flex;justify-content:center;margin-top:var(--space-secondary)}
.form-message{margin-top:var(--space-tertiary)}
.form-message:empty{display:none}
.request-confirmation p{max-width:var(--measure-tertiary);margin:var(--space-tertiary) auto 0}
.request-confirmation .request-reference{font-size:var(--type-tertiary-compact);color:var(--ink-tertiary)}
.request-confirmation button{margin:var(--space-secondary) 6px 0}

/* The closing identity follows the same composition and supporting roles. */
.site-footer{width:var(--site-width);margin:var(--space-primary) auto max(24px,env(safe-area-inset-bottom));color:var(--ink-primary)}
.footer-identity{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-primary);padding:var(--space-secondary) 24px;border-bottom:var(--stroke-primary) solid var(--ink-primary)}
.footer-emblem{display:block;width:224px;flex:0 0 224px}
.footer-emblem .emblem{width:100%;height:auto;filter:none}
.footer-signature{display:flex;flex-direction:column;align-items:center;gap:var(--space-tertiary);min-width:0}
.footer-est{letter-spacing:.1em;text-transform:uppercase}
.footer-contact{display:flex;align-items:center;justify-content:center;gap:var(--space-secondary);padding:var(--space-tertiary) 12px 24px}
.footer-contact a{display:flex;align-items:center;justify-content:center;min-height:44px;font:600 var(--type-tertiary-compact)/1.5 var(--font-reading);letter-spacing:.075em;text-transform:uppercase}
.footer-contact a:active{text-decoration:underline;text-underline-offset:5px}

/* Touch feedback is immediate; hover is reserved for a precise hovering pointer. */
@media(hover:hover) and (pointer:fine){
 .button:hover{background:var(--surface-tertiary);color:var(--ink-primary)}
 .button:not(:disabled):hover svg{transform:translateX(2px)}
 .button-secondary:hover,.contact-action:hover{background:var(--hover-surface)}
 .button-tertiary:hover{background:transparent;text-decoration:underline;text-underline-offset:5px}
 .site-header nav a:hover::after{transform:scaleX(1)}
 .footer-contact a:hover{text-decoration:underline;text-underline-offset:5px}
}

/* Brief photographic depth, with a complete static presentation as the default. */
@supports (animation-timeline:view()) and (animation-range:entry 0% entry 70%){
 @media(prefers-reduced-motion:no-preference) and (update:fast){
  .work-example .photo-window img{animation:work-arrival 1ms linear both;animation-timeline:--work-arrival;animation-range:entry 0% entry 70%}
  @keyframes work-arrival{from{transform:scale(1.025);opacity:.94}to{transform:scale(1);opacity:1}}
 }
}

/* Operational pages use the same three levels, including dynamic states. */
.page-heading,.inbox,.utility-page{width:var(--site-width);margin:var(--space-secondary) auto}
.page-heading h1{margin-top:var(--space-tertiary)}
.inbox-toolbar,.record-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-tertiary);flex-wrap:wrap}
.inbox-toolbar label,.record-actions label{min-width:180px}
.inbox-list{display:grid;gap:var(--space-secondary);margin-top:var(--space-secondary)}
.request-record{padding:var(--space-secondary);border:var(--stroke-secondary) solid var(--rule-color);background:var(--surface-secondary)}
.request-record-top{display:grid;gap:var(--space-tertiary)}
.record-status{color:var(--ink-tertiary)}
.request-record dl{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-tertiary);margin:var(--space-secondary) 0}
.request-record dt,.request-record dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.request-record dt{font-size:var(--type-tertiary-compact);color:var(--ink-tertiary)}
.utility-page{padding:var(--space-primary) var(--space-secondary)}
.utility-page p{margin:var(--space-secondary) auto;max-width:var(--measure-tertiary)}

@media(max-width:1340px){.masthead-name{width:min(64vw,440px)}.site-header nav{padding-inline:12px}}
@media(max-width:1100px){
 .services-section{grid-template-columns:1fr;grid-template-areas:'heading' 'seasons' 'action'}
 .service-list{width:min(100%,840px);justify-self:center;column-gap:var(--space-primary)}
 .enhancement-scope{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact{grid-template-columns:1fr}
 .request-panel{padding:var(--space-secondary) 0 0;border-left:0;border-top:var(--stroke-secondary) solid var(--rule-color)}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-grid .work-example:last-child{grid-column:1/-1;width:calc((100% - var(--space-secondary)) / 2);justify-self:center}
}
@media(max-width:1000px){.footer-identity{flex-direction:column;gap:var(--space-secondary)}.footer-emblem{flex-basis:auto}}
@media(max-width:800px){
 .early-story{grid-template-columns:1fr;gap:var(--space-secondary)}
 .work-grid{grid-template-columns:1fr;max-width:540px;margin:auto}
 .work-grid .work-example:last-child{grid-column:auto;width:100%}
}
@media(max-width:700px){
 .site-header{margin-top:14px}
 .masthead-top{padding:30px 12px 26px}
 .masthead-wordmark{gap:14px;min-width:0;width:100%}
 .masthead-name{width:min(90%,330px)}
 .masthead-signature .masthead-name{width:min(94%,400px)}
 .masthead-wordmark>span:last-child,.masthead-signature .masthead-wordmark>span:last-child{--landscaping-tracking:min(.95em,max(.1em,calc((100vw - 64px - 8em)/12)));font-size:.75rem;letter-spacing:var(--landscaping-tracking);padding-left:var(--landscaping-tracking)}
 .site-header nav{display:flex;flex-wrap:wrap;margin-top:14px;padding:0 4px;box-shadow:0 -14px 0 var(--surface-primary)}
 .site-header nav a{flex:1 1 5.5rem;min-width:0;min-height:60px;padding:12px 6px;font-size:.875rem;line-height:1.5;letter-spacing:.035em}
 .site-header nav a::after{bottom:7px}
 .property-cover{grid-template-columns:1fr;gap:var(--space-secondary);margin-top:24px}
 .brand-signature{width:min(100%,420px);justify-self:center}
 .cover-actions{grid-row:2;flex-wrap:wrap;gap:var(--space-tertiary)}
 .cover-actions .button{flex:1 1 10.5rem;min-width:min(100%,10.5rem);padding-inline:12px}
 .property-cover>.insurance-assurance{grid-row:3}
 .cover-work{grid-row:4}
 .cover-photos{position:relative;aspect-ratio:4/3}
 .services-section,.work-evidence,.enhancement-band,.contact-surface,.story-surface{padding:var(--space-secondary) 16px}
 .story-surface{padding-block:var(--space-primary)}
 .work-evidence{padding-inline:0;padding-block:var(--space-primary)}
 .work-evidence .section-caption{padding-inline:16px}
 .chapter-title>span:first-child{letter-spacing:.12em}
 .service-list{grid-template-columns:1fr}
 .season-entry{padding:0 8px}
 .seasonal-action{padding-top:var(--space-tertiary)}
 .improvements-caption :is(h2,h3)>span:last-child{font-size:min(var(--type-primary),calc((100vw - 80px)/8.25))}
 .enhancement-scope{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--space-secondary)}
 .people-roles{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:var(--space-secondary) var(--space-tertiary)}
 .fields,.service-choices{grid-template-columns:1fr}
 .contact-towns{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr))}
 .request-actions .button{width:100%}
 .footer-identity{padding:var(--space-secondary) 12px}
 .footer-signature{width:100%}
 .footer-emblem{width:196px}
 .footer-contact{gap:var(--space-secondary)}
 .request-record dl{grid-template-columns:1fr;gap:8px}
 .request-record dd{margin-bottom:var(--space-tertiary)}
}
@media(max-width:380px){
 .contact-action{padding-inline:8px;gap:8px}
}
@media(forced-colors:active){
 .primary-field,.site-header,.site-footer,.signature-frame,.button,.button::before,.request-record,.bracketed-group::before,.bracketed-group::after{border-color:CanvasText}
 .primary-field::before,.primary-field::after,.site-header::before,.site-footer::before,.site-footer::after{background:CanvasText}
 .message-paths{stroke:CanvasText}
 .contour-outer,.contour-inner{fill:CanvasText}.contour-mat,.contour-surface{fill:Canvas}
 .intro-emblem{filter:none}
 .primary-field,.site-footer{background-image:none}
 .signature-frame{filter:none}
}
@media print{.site-header,.site-footer,.cover-actions,.request-panel{display:none}.contact{display:block}body{background:white;color:black}.primary-field{break-inside:avoid}}
