:root{--color-black: #000000;--color-charcoal: #1C1D21;--color-graphite: #1C1D21;--color-steel: #5C6068;--color-silver: #C7CAD0;--color-line: #E4E6E9;--color-line-strong: #D5D8DD;--color-line-dark: #2C2E33;--color-mist: #F3F4F6;--color-mist-deep: #E9EBEE;--color-paper: #FBFBFC;--color-white: #FFFFFF;--color-red: #C53538;--color-red-deep: #A82C2F;--color-muted-dark: #8A8F97;--color-focus: var(--color-graphite);--font-heading: 'Archivo','Arial Narrow',Arial,sans-serif;--font-body: 'Public Sans',-apple-system,'Segoe UI',Arial,sans-serif;--text-display: clamp(2.75rem,1.5rem + 5.2vw,5.25rem);--text-h2: clamp(1.75rem,1.3rem + 1.9vw,2.5rem);--text-h3: clamp(1.25rem,1.1rem + 0.6vw,1.5rem);--text-body: clamp(1rem,0.96rem + 0.2vw,1.125rem);--text-small: 0.875rem;--spacing-xs: 0.5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--spacing-section: clamp(4.5rem,10vw,8rem);--container: 75rem;--gutter: clamp(1rem,4vw,2.5rem);--header-h: 4rem;--radius: 2px;--ease-out: cubic-bezier(0.22,1,0.36,1);--ease-in-out: cubic-bezier(0.65,0,0.35,1);--ease-out-expo: cubic-bezier(0.16,1,0.3,1);--duration-fast: 180ms;--duration-base: 280ms;--duration-slow: 400ms}@media (min-width: 1200px){:root{--header-h: 5.25rem}}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: calc(var(--header-h) + 1rem)}body{margin: 0;background: var(--color-paper);color: var(--color-graphite);font-family: var(--font-body);font-size: var(--text-body);line-height: 1.6;text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased}img,svg{display: block;max-width: 100%;height: auto}h1,h2,h3{margin: 0;font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;line-height: 1.12;letter-spacing: -0.01em;color: var(--color-black)}h2{font-size: var(--text-h2)}h3{font-size: var(--text-h3);line-height: 1.2}p{margin: 0}a{color: var(--color-red-deep);text-underline-offset: 0.18em}a:hover{color: var(--color-graphite)}:focus-visible{outline: 3px solid var(--color-focus);outline-offset: 3px}.container{width: 100%;max-width: calc(var(--container) + var(--gutter) * 2);margin-inline: auto;padding-inline: var(--gutter)}.section{padding-block: var(--spacing-section)}.visually-hidden{position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.skip-link{position: absolute;top: 0.5rem;left: var(--gutter);z-index: 100;padding: 0.75rem 1rem;background: var(--color-black);color: var(--color-white);font-weight: 600;transform: translateY(calc(-100% - 1rem));transition: transform var(--duration-fast) var(--ease-out)}.skip-link:focus{transform: none;color: var(--color-white)}.btn{display: inline-flex;align-items: center;justify-content: center;min-height: 3.25rem;padding: 0 1.5rem;border: 1.5px solid transparent;border-radius: var(--radius);font-family: var(--font-heading);font-stretch: 108%;font-weight: 600;font-size: 1rem;line-height: 1.2;text-align: center;text-decoration: none;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.btn-primary{background: var(--color-red);color: var(--color-white)}.btn-primary:hover{background: var(--color-red-deep);color: var(--color-white)}.btn-dark{background: var(--color-black);color: var(--color-white)}.btn-dark:hover{background: var(--color-graphite);color: var(--color-white)}.btn-outline{border-color: var(--color-graphite);color: var(--color-black)}.btn-outline:hover{background: var(--color-mist);color: var(--color-black)}.btn-outline-light{border-color: var(--color-silver);color: var(--color-white)}.btn-outline-light:hover{background: rgba(255,255,255,0.1);border-color: var(--color-white);color: var(--color-white)}.btn-block{width: 100%}.text-link,.hero-note a,.contact-phone,.emergency-phone,.site-footer .footer-phone,.footer-col>a,.footer-base a{display: inline-flex;align-items: center;min-height: 2.75rem}.text-link{font-weight: 700;color: var(--color-red-deep);text-decoration: underline;text-decoration-thickness: 1.5px}.text-link:hover{color: var(--color-graphite)}.frame{position: relative;overflow: hidden;margin: 0;border-radius: var(--radius);background: var(--color-mist-deep)}.frame-dark{background: var(--color-charcoal)}.frame>img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.site-header{position: sticky;top: 0;z-index: 50;background: var(--color-paper);border-bottom: 1px solid var(--color-line)}.header-bar{display: flex;align-items: center;justify-content: space-between;gap: 1rem;height: var(--header-h)}.header-logo{flex: 0 0 auto}.header-logo img{width: auto;height: 2.75rem}.header-actions{display: flex;align-items: center;gap: 0.5rem}.header-phone,.header-cta{display: none}.icon-btn{display: inline-flex;align-items: center;justify-content: center;width: 2.75rem;height: 2.75rem;border: 1px solid var(--color-graphite);border-radius: var(--radius);background: transparent;color: var(--color-black);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out)}.icon-btn:hover{background: var(--color-mist);color: var(--color-black)}.menu-icon,.menu-icon::before,.menu-icon::after{display: block;width: 1.25rem;height: 2px;background: currentColor;transition: transform var(--duration-base) var(--ease-in-out)}.menu-icon{position: relative}.menu-icon::before,.menu-icon::after{content: '';position: absolute;left: 0}.menu-icon::before{transform: translateY(-6px)}.menu-icon::after{transform: translateY(6px)}.menu-toggle[aria-expanded='true'] .menu-icon{background: transparent}.menu-toggle[aria-expanded='true'] .menu-icon::before{transform: rotate(45deg)}.menu-toggle[aria-expanded='true'] .menu-icon::after{transform: rotate(-45deg)}.header-nav{display: none;position: absolute;top: 100%;left: 0;right: 0;padding: 0.5rem var(--gutter) 1.5rem;background: var(--color-paper);border-bottom: 1px solid var(--color-graphite)}.header-nav.is-open{display: block}.no-js .header-nav{display: block;position: static;border: 0;padding-top: 0}.no-js .menu-toggle{display: none}.nav-list{list-style: none;margin: 0 0 1rem;padding: 0}.nav-list a{display: block;padding: 0.875rem 0;border-bottom: 1px solid var(--color-line);font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;font-size: 1.375rem;color: var(--color-black);text-decoration: none}.nav-cta{width: 100%;margin-top: 0.625rem}@media (min-width: 1200px){.header-logo img{height: 3.5rem}.header-nav,.no-js .header-nav{display: flex;position: static;padding: 0;border: 0;background: none}.nav-list{display: flex;gap: 2.25rem;margin: 0}.nav-list a{padding: 0.375rem 0;border: 0;font-family: var(--font-body);font-stretch: 100%;font-weight: 600;font-size: 1rem;color: var(--color-graphite);white-space: nowrap;box-shadow: inset 0 -2px 0 transparent;transition: box-shadow var(--duration-fast) var(--ease-out)}.nav-list a:hover,.nav-list a.is-active{box-shadow: inset 0 -2px 0 var(--color-black);color: var(--color-black)}.nav-cta,.header-call,.menu-toggle{display: none}.header-actions{gap: 1.5rem}.header-phone{display: inline;font-family: var(--font-heading);font-stretch: 108%;font-weight: 600;font-size: 1.125rem;color: var(--color-graphite);text-decoration: none;white-space: nowrap}.header-phone:hover{color: var(--color-red-deep)}.header-cta{display: inline-flex;min-height: 2.875rem;padding: 0 1.25rem;font-size: 0.9375rem;white-space: nowrap}}.hero{--color-focus: var(--color-white);--hero-media-h: clamp(22rem,98vw,28rem);position: relative;isolation: isolate;overflow: hidden;background-color: var(--color-black);background-image: url('/assets/img/marthas-vineyard-home-hero-1000.jpg');background-size: auto var(--hero-media-h);background-position: 82% 100%;background-repeat: no-repeat;color: var(--color-silver)}.hero::before{content: '';position: absolute;inset: 0;z-index: 1;background: linear-gradient(180deg,rgba(0,0,0,0.94) 0%,rgba(0,0,0,0.92) 50%,rgba(0,0,0,0.55) 60%,rgba(0,0,0,0.18) 70%,rgba(0,0,0,0) 80%);pointer-events: none}.hero-copy{text-shadow: 0 1px 14px rgba(0,0,0,0.35)}.hero-grid{position: relative;z-index: 2;display: grid}.hero-copy{display: flex;flex-direction: column;align-items: flex-start;gap: 1.5rem;padding: clamp(2.75rem,8vw,5rem) var(--gutter) clamp(2.5rem,6vw,3.5rem)}.hero-kicker{font-family: var(--font-body);font-stretch: 100%;font-size: 1rem;font-weight: 600;line-height: 1.4;letter-spacing: 0;color: var(--color-silver)}.hero-headline{margin-top: -0.25rem;max-width: 11ch;font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;font-size: var(--text-display);line-height: 1;letter-spacing: -0.025em;color: var(--color-white)}.hero-lede{max-width: 32em;font-size: clamp(1.0625rem,1rem + 0.3vw,1.25rem);color: var(--color-silver)}.hero-actions{display: flex;flex-direction: column;gap: 0.75rem;width: 100%;margin-top: 0.5rem}.hero-note{max-width: 34em;font-size: 1rem;color: var(--color-silver)}.hero-note a{min-height: 0;display: inline;font-weight: 600;color: var(--color-white)}.hero-note a:hover{color: var(--color-silver)}.hero-copy{padding-bottom: calc(var(--hero-media-h) - 7.5rem)}@media (min-width: 480px){.hero-actions{flex-direction: row;flex-wrap: wrap;width: auto}}@media (min-width: 768px){.hero{background-image: url('/assets/img/marthas-vineyard-home-hero.jpg');background-size: cover;background-position: 70% 50%}.hero::before{background: linear-gradient(90deg,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.84) 40%,rgba(0,0,0,0.5) 60%,rgba(0,0,0,0.16) 78%,rgba(0,0,0,0) 100%)}.hero-copy{padding-bottom: clamp(4rem,8vw,6rem);max-width: 40rem}.hero-lede,.hero-note{max-width: min(32em,56vw)}}@media (min-width: 1200px){.hero{background-position: right 50%}.hero::before{background: linear-gradient(90deg,rgba(0,0,0,0.9) 0%,rgba(0,0,0,0.8) 28%,rgba(0,0,0,0.48) 42%,rgba(0,0,0,0.14) 56%,rgba(0,0,0,0) 70%)}.hero-grid{min-height: min(44rem,calc(100vh - var(--header-h)));align-items: center}.hero-copy{max-width: none;width: 100%;padding: 5rem var(--gutter);padding-right: 46%;padding-left: max(var(--gutter),calc((100vw - var(--container)) / 2))}}.proof{background: var(--color-mist);border-bottom: 1px solid var(--color-line)}.proof-list{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 1px;background: var(--color-line-strong)}.proof-list li{display: flex;align-items: center;padding: 1.25rem 1rem;background: var(--color-mist);font-family: var(--font-heading);font-stretch: 108%;font-weight: 600;font-size: clamp(0.9375rem,0.9rem + 0.25vw,1.0625rem);line-height: 1.3;color: var(--color-black)}@media (min-width: 900px){.proof-list{grid-template-columns: minmax(0,1.45fr) repeat(3,minmax(0,1fr))}.proof-list li{justify-content: center;text-align: center;padding: 1.5rem 1.25rem}}.services-grid{display: grid;gap: var(--spacing-xl)}.services-intro{display: flex;flex-direction: column;align-items: flex-start;gap: var(--spacing-md)}.services-intro>p{max-width: 36em;color: var(--color-steel)}.property-split{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--spacing-md);width: 100%}.property h3{font-size: 1.125rem;margin-bottom: 0.25rem}.property p{font-size: 0.9375rem;line-height: 1.5;color: var(--color-steel)}.work-types{list-style: none;margin: 0;padding: 0}.work-type{display: grid;gap: 0.5rem;padding: clamp(1.5rem,3vw,2.25rem) 0;border-bottom: 1px solid var(--color-line)}.work-type:first-child{padding-top: 0}.work-type h3{font-size: clamp(1.625rem,1.2rem + 1.7vw,2.375rem);font-stretch: 112%;line-height: 1.05}.work-type p{max-width: 30em;color: var(--color-steel)}@media (min-width: 768px){.work-type{grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--spacing-lg);align-items: baseline}}@media (min-width: 1024px){.services-grid{grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: clamp(3rem,6vw,6rem);align-items: start}.services-intro{position: sticky;top: calc(var(--header-h) + 2rem)}}.process{background: var(--color-mist)}.process-grid{display: grid;gap: var(--spacing-lg)}.process-grid h2{font-size: clamp(2rem,1.4rem + 2.6vw,3.25rem);line-height: 1.05;max-width: 15ch}.process-points{display: flex;flex-direction: column;align-items: flex-start;gap: var(--spacing-md)}.process-point h3{font-size: 1.25rem;margin-bottom: 0.375rem}.process-point p{max-width: 30em;color: var(--color-steel)}@media (min-width: 900px){.process-grid{grid-template-columns: minmax(0,7fr) minmax(0,5fr);gap: clamp(3rem,6vw,6rem);align-items: end}}.work-head{display: grid;gap: var(--spacing-sm);margin-bottom: var(--spacing-lg)}.work-head p{max-width: 34em;color: var(--color-steel)}.work-head .text-link{justify-self: start}.photo-grid{display: grid;grid-template-columns: minmax(0,1fr);gap: var(--spacing-md)}.photo-card{margin: 0;border-radius: 0.5rem;overflow: hidden;background: var(--color-mist-deep);transition: box-shadow var(--duration-base) var(--ease-out)}.photo-card:hover{box-shadow: 0 6px 18px rgba(28,29,33,0.16)}.photo-card[hidden]{display: none}.gallery-link{display: block;cursor: zoom-in;overflow: hidden}.gallery-link img{display: block;width: 100%;height: 20rem;object-fit: cover;object-position: center;transition: transform var(--duration-base) var(--ease-out)}.photo-card:hover .gallery-link img{transform: scale(1.04)}.gallery-link:focus-visible{outline-offset: -3px}.photo-grid-more{display: flex;justify-content: center;margin-top: var(--spacing-lg)}@media (min-width: 600px){.photo-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.photo-grid{grid-template-columns: repeat(3,minmax(0,1fr))}}.page-hero{padding-block: clamp(3.5rem,8vw,6rem) clamp(2rem,4vw,3rem);background: var(--color-mist);border-bottom: 1px solid var(--color-line)}.page-hero h1{font-size: clamp(2.25rem,1.5rem + 3vw,3.5rem);line-height: 1.05;letter-spacing: -0.02em}.page-hero p{max-width: 40em;margin-top: var(--spacing-sm);color: var(--color-steel)}.portfolio{padding-block: clamp(2.5rem,5vw,4rem) var(--spacing-section)}.filter-bar{display: flex;gap: 0.5rem;margin-bottom: var(--spacing-lg);overflow-x: auto;padding-bottom: 0.25rem;scrollbar-width: thin}.filter-btn{flex: 0 0 auto;min-height: 2.75rem;padding: 0 1.125rem;border: 1.5px solid var(--color-line-strong);border-radius: 999px;background: var(--color-paper);color: var(--color-graphite);font: inherit;font-size: 0.9375rem;font-weight: 600;cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.filter-btn:hover{border-color: var(--color-graphite)}.filter-btn[aria-pressed='true']{background: var(--color-black);border-color: var(--color-black);color: var(--color-white)}.filter-status{margin-bottom: var(--spacing-md);font-size: var(--text-small);color: var(--color-steel)}.cta-band{background: var(--color-black);color: var(--color-silver);padding-block: clamp(3.5rem,8vw,6rem);--color-focus: var(--color-white)}.cta-band-inner{display: flex;flex-direction: column;align-items: flex-start;gap: var(--spacing-md)}.cta-band h2{color: var(--color-white);max-width: 18ch;font-size: clamp(1.875rem,1.3rem + 2.4vw,3rem);line-height: 1.08}.cta-band p{max-width: 34em}.cta-band-actions{display: flex;flex-wrap: wrap;gap: 0.75rem}@media (min-width: 900px){.cta-band-inner{flex-direction: row;align-items: flex-end;justify-content: space-between;gap: var(--spacing-xl)}}@media (min-width: 900px){.work-head{grid-template-columns: minmax(0,1fr) minmax(0,1fr);column-gap: var(--spacing-xl);align-items: end}.work-head h2{grid-row: span 2;align-self: end}}.lightbox{--color-focus: var(--color-white);width: 100vw;height: 100dvh;max-width: none;max-height: none;margin: 0;padding: 3.5rem 1rem 3rem;border: 0;background: rgba(0,0,0,0.94);color: var(--color-silver)}.lightbox::backdrop{background: rgba(0,0,0,0.85)}.lightbox[open]{display: flex;align-items: center;justify-content: center}.lightbox-figure{margin: 0;display: flex;flex-direction: column;align-items: center;gap: 0.75rem;max-height: 100%}.lightbox-img{max-width: 100%;max-height: calc(100dvh - 8rem);width: auto;height: auto;object-fit: contain}.lightbox-count{font-size: var(--text-small)}.lightbox-btn{position: absolute;display: inline-flex;align-items: center;justify-content: center;width: 3rem;height: 3rem;border: 1px solid rgba(255,255,255,0.35);border-radius: var(--radius);background: rgba(0,0,0,0.5);color: var(--color-white);cursor: pointer;transition: background-color var(--duration-fast) var(--ease-out)}.lightbox-btn:hover{background: rgba(255,255,255,0.15)}.lightbox-close{top: 0.75rem;right: 0.75rem}.lightbox-prev,.lightbox-next{top: 50%;transform: translateY(-50%)}.lightbox-prev{left: 0.75rem}.lightbox-next{right: 0.75rem}@media (max-width: 599px){.lightbox-prev,.lightbox-next{top: auto;bottom: 0.75rem;transform: none}.lightbox-prev{left: calc(50% - 3.5rem)}.lightbox-next{right: calc(50% - 3.5rem)}.lightbox{padding-bottom: 4.5rem}}.about{--color-focus: var(--color-white);background: var(--color-black);color: var(--color-silver)}.about-grid{display: grid;gap: var(--spacing-lg);align-items: center}.about-frame{aspect-ratio: 1 / 1}.about-frame>img{object-position: 50% 62%}.about-copy{display: flex;flex-direction: column;align-items: flex-start;gap: var(--spacing-md)}.about-copy h2{color: var(--color-white)}.about-copy p{max-width: 34em}@media (min-width: 768px){.about-grid{grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: clamp(2rem,6vw,5.5rem)}.about-frame{aspect-ratio: 4 / 5}}.emergency{padding-block: clamp(3.5rem,7vw,5.5rem);border-bottom: 1px solid var(--color-line)}.emergency-grid{display: grid;gap: var(--spacing-md);align-items: end}.emergency-copy{display: flex;flex-direction: column;gap: 0.75rem}.emergency-copy p{max-width: 30em;color: var(--color-steel)}.emergency-phone{justify-self: start;font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;font-size: clamp(2.5rem,1.4rem + 5vw,5rem);line-height: 1;letter-spacing: -0.02em;color: var(--color-black);text-decoration: none;white-space: nowrap;box-shadow: inset 0 -0.08em 0 var(--color-red);transition: color var(--duration-fast) var(--ease-out)}.emergency-phone:hover{color: var(--color-red-deep)}@media (min-width: 900px){.emergency-grid{grid-template-columns: minmax(0,1fr) auto;gap: var(--spacing-xl)}}.faq{background: var(--color-mist)}.faq-grid{display: grid;gap: var(--spacing-lg)}.faq-list{border-top: 1px solid var(--color-graphite)}.faq-item{border-bottom: 1px solid var(--color-line-strong)}.faq-item summary{position: relative;padding: 1.25rem 3rem 1.25rem 0;font-family: var(--font-heading);font-stretch: 108%;font-weight: 600;font-size: 1.1875rem;line-height: 1.3;color: var(--color-black);list-style: none;cursor: pointer}.faq-item summary::-webkit-details-marker{display: none}.faq-item summary::before,.faq-item summary::after{content: '';position: absolute;right: 0.5rem;top: 50%;width: 1rem;height: 2px;background: var(--color-black);transition: transform var(--duration-base) var(--ease-in-out)}.faq-item summary::after{transform: rotate(90deg)}.faq-item[open] summary::after{transform: rotate(0deg)}.faq-item summary:hover{color: var(--color-red-deep)}.faq-item p{padding: 0 3rem 1.5rem 0;max-width: 40em;color: var(--color-steel)}@media (min-width: 900px){.faq-grid{grid-template-columns: minmax(0,4fr) minmax(0,8fr);gap: clamp(3rem,6vw,6rem)}}.contact-grid{display: grid;gap: var(--spacing-xl);align-items: start}.contact-estimate h2{margin-bottom: 0.75rem}.contact-intro{max-width: 34em;margin-bottom: var(--spacing-lg);color: var(--color-steel)}.sms-builder{display: flex;flex-direction: column;gap: 1.25rem;margin-bottom: var(--spacing-lg)}.sms-fields{display: grid;gap: 1.25rem}.field{display: flex;flex-direction: column;gap: 0.375rem;min-width: 0;margin: 0;padding: 0;border: 0}.field label,.field legend{font-size: 0.9375rem;font-weight: 600;color: var(--color-graphite);padding: 0}.optional{font-weight: 400;color: var(--color-steel)}.field input[type='text'],.field select{width: 100%;min-height: 3.25rem;padding: 0.75rem 0.875rem;border: 1px solid var(--color-steel);border-radius: var(--radius);background: var(--color-white);color: var(--color-graphite);font: inherit;font-size: 1rem;transition: border-color var(--duration-fast) var(--ease-out)}.field input[type='text']:hover,.field select:hover{border-color: var(--color-graphite)}.field input[type='text']:focus-visible,.field select:focus-visible{border-color: var(--color-black);outline-offset: 1px}.field [aria-invalid='true']{border-color: var(--color-red-deep);border-width: 2px}.choice-group{flex-direction: row;flex-wrap: wrap;gap: 0.5rem 1.75rem}.choice-group legend{margin-bottom: 0.5rem}.field .choice{display: inline-flex;align-items: center;gap: 0.625rem;min-height: 2.75rem;font-weight: 400;cursor: pointer}.choice input{width: 1.25rem;height: 1.25rem;margin: 0;accent-color: var(--color-red)}.field-error{font-size: var(--text-small);font-weight: 600;color: var(--color-red-deep)}.sms-preview{padding: 1rem 1.125rem;border-left: 3px solid var(--color-red);background: var(--color-mist)}.sms-preview-label{margin-bottom: 0.25rem;font-size: var(--text-small);color: var(--color-steel)}.sms-preview-text{color: var(--color-graphite);font-weight: 600;overflow-wrap: anywhere}.no-js .sms-builder{display: none}.sms-actions{display: flex;flex-wrap: wrap;gap: 0.75rem;margin-bottom: 1.25rem}.sms-actions .btn{flex: 1 1 15rem}.sms-note{max-width: 34em;font-size: var(--text-small);color: var(--color-steel)}.contact-card{padding: clamp(1.5rem,4vw,2.25rem);background: var(--color-mist)}.contact-phone{margin-bottom: 1rem;font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;font-size: clamp(2rem,1.6rem + 1.6vw,2.625rem);line-height: 1.1;color: var(--color-black);text-decoration: none}.contact-phone:hover{color: var(--color-red-deep)}.contact-details{margin: 0;display: grid;gap: 1rem}.contact-details dt{font-size: var(--text-small);color: var(--color-steel)}.contact-details dd{margin: 0;font-weight: 600;overflow-wrap: anywhere}@media (min-width: 600px){.sms-fields{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.contact-grid{grid-template-columns: minmax(0,7fr) minmax(0,5fr);gap: clamp(3rem,6vw,5.5rem)}.contact-card{position: sticky;top: calc(var(--header-h) + 2rem)}}.site-footer{--color-focus: var(--color-white);background: var(--color-black);color: var(--color-silver);padding: var(--spacing-xl) 0 calc(5.5rem + env(safe-area-inset-bottom));font-size: 0.9375rem}.site-footer a{color: var(--color-silver)}.site-footer a:hover{color: var(--color-white)}.footer-grid{display: grid;gap: var(--spacing-lg)}.footer-brand{display: flex;flex-direction: column;align-items: flex-start;gap: var(--spacing-md)}.footer-brand img{width: 15rem}.footer-col{display: flex;flex-direction: column;align-items: flex-start;gap: 0.5rem}nav.footer-col{gap: 0}.footer-heading{font-size: 1rem;font-stretch: 108%;font-weight: 600;color: var(--color-white);margin-bottom: 0.25rem}.site-footer .footer-phone{font-family: var(--font-heading);font-stretch: 108%;font-weight: 700;font-size: 1.5rem;color: var(--color-white);text-decoration: none}.footer-base{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.75rem 2rem;margin-top: var(--spacing-xl);padding-top: 1.25rem;border-top: 1px solid var(--color-line-dark);color: var(--color-muted-dark);font-size: var(--text-small)}.footer-base a{color: var(--color-muted-dark)}.footer-meta{display: flex;flex-wrap: wrap;align-items: center;gap: 0 1.5rem}.footer-meta>*{margin: 0}.footer-credit{color: var(--color-muted-dark)}.footer-credit a{text-decoration: underline;text-underline-offset: 0.2em}.site-footer-simple{padding: 0 0 1.5rem}.site-footer-simple .footer-base{margin-top: 0;border-top: 0}@media (min-width: 768px){.footer-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.footer-grid{grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,0.8fr)}}@media (min-width: 1200px){.site-footer{padding-bottom: var(--spacing-lg)}}.mobile-bar{position: fixed;left: 0;right: 0;bottom: 0;z-index: 40;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0.5rem;padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom));background: var(--color-paper);border-top: 1px solid var(--color-silver)}.mobile-bar .btn{padding: 0 0.75rem}@media (min-width: 1200px){.mobile-bar{display: none}}.simple-page{padding-block: var(--spacing-section)}.simple-page h1{font-size: var(--text-h2);margin-bottom: var(--spacing-md)}.simple-page h2{font-size: var(--text-h3);margin: var(--spacing-lg) 0 0.75rem}.simple-page p{max-width: 40em;color: var(--color-steel)}.simple-page p + p{margin-top: 0.75rem}.simple-page .hero-actions{margin-top: var(--spacing-lg)}@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}}