:root{--color-bg:#f3eee4;--color-text:#263f4c;--color-primary:#984e3d;--color-surface-offset:#e8e1d4;--font-display:'Gambetta',Georgia,serif;--font-body:'General Sans',Arial,sans-serif;--text-xs:clamp(.75rem,.72rem + .2vw,.875rem);--text-sm:clamp(.875rem,.82rem + .25vw,1rem);--text-base:clamp(1rem,.95rem + .2vw,1.1rem);--text-lg:clamp(1.125rem,1rem + .4vw,1.4rem);--text-xl:clamp(1.8rem,1.3rem + 1.3vw,2.5rem);--text-hero:clamp(3.25rem,2rem + 3.5vw,5.8rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--line:color-mix(in srgb,var(--color-text) 22%,transparent)}
.wrap{width:min(1200px,calc(100% - var(--space-12)));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-5);gap:var(--space-6);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;font-weight:600;font-size:var(--text-sm);line-height:1.35}.brand img{width:64px;height:64px}.brand small{display:block;font-size:var(--text-xs);font-weight:400;letter-spacing:.06em;margin-top:var(--space-1)}nav{display:flex;gap:var(--space-6)}nav a,.header-call{text-decoration:none;font-size:var(--text-sm);padding-block:var(--space-3)}nav a:hover,.text-link:hover{color:var(--color-primary)}.header-call{font-weight:600}
.hero{display:grid;grid-template-columns:1.25fr .85fr;align-items:center;gap:var(--space-20);padding-block:var(--space-16)}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.13em;color:var(--color-primary);margin-bottom:var(--space-5)}h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:-.035em;margin-bottom:var(--space-6)}.pipe{color:var(--color-primary);font-weight:400}.intro{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.hero-copy>p:not(.eyebrow){max-width:48ch}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-block:var(--space-8)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);text-decoration:none;background:var(--color-primary);color:#fff9f0;font-size:var(--text-sm);font-weight:600;padding:var(--space-4) var(--space-6);min-height:52px;border:1px solid var(--color-primary)}.button:hover{background:#783c2f}.text-link{display:inline-block;font-size:var(--text-sm);text-underline-offset:5px;min-height:44px;padding-block:var(--space-3)}.hero-note{display:flex;flex-direction:column;font-size:var(--text-xs);border-top:1px solid var(--line);padding-top:var(--space-5)}.hero-note span:first-child{font-weight:600}.campaign{max-width:420px;justify-self:end;box-shadow:9px 12px 0 var(--color-surface-offset)}.campaign img{width:100%;object-fit:contain}
.section{padding-block:var(--space-20)}h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-6)}h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.services{background:var(--color-surface-offset)}.split{display:grid;grid-template-columns:.9fr 1.3fr;gap:var(--space-24)}.section-heading>p{max-width:35ch;margin-bottom:var(--space-6)}.service-list article{display:flex;gap:var(--space-6);padding-block:var(--space-6);border-top:1px solid var(--line)}.service-list article:first-child{padding-top:0;border:0}.number{font-size:var(--text-xs);color:var(--color-primary);padding-top:var(--space-1);font-weight:600}.service-list p{font-size:var(--text-sm);max-width:50ch}.section-top{display:flex;justify-content:space-between;gap:var(--space-16);align-items:end;margin-bottom:var(--space-8)}.section-top>p{max-width:42ch;font-size:var(--text-sm);margin-bottom:var(--space-6)}.work-switch{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.work-switch button{min-height:48px;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);border:1px solid var(--line)}.work-switch button[aria-pressed=true]{background:var(--color-text);color:var(--color-bg)}.work-switch button:hover{border-color:var(--color-primary)}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.photo-pair img{width:100%;height:340px;object-fit:contain;background:var(--color-surface-offset)}figcaption{padding-block:var(--space-3);font-size:var(--text-xs)}figcaption span{font-weight:600;color:var(--color-primary);margin-right:var(--space-3)}.caption{font-size:var(--text-xs);margin-top:var(--space-4);line-height:1.6}.process{background:var(--color-text);color:var(--color-bg)}.process .eyebrow{color:#ebad91}.process-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-20)}.process ol{list-style-position:outside;margin-left:var(--space-6)}.process li{padding-left:var(--space-3);margin-bottom:var(--space-6)}.process strong,.process span{display:block}.process span{font-size:var(--text-sm);margin-top:var(--space-2);color:#dfdfd7}
.reviews{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-24);align-items:center}.reviews .button{margin-top:var(--space-8)}.reviews p{max-width:45ch}.qr-panel{text-align:center;border:1px solid var(--line);padding:var(--space-8);background:#faf7ef}.qr-panel img{width:220px;max-width:100%;margin:0 auto var(--space-4);background:white}.qr-panel p{margin-inline:auto}.qr-panel .eyebrow{margin-bottom:0}.qr-panel button{text-decoration:underline}.review-url{display:block;font-size:var(--text-xs);overflow-wrap:anywhere;user-select:all;padding-block:var(--space-2);min-height:44px}.qr-panel #copy-status{font-size:var(--text-xs);min-height:1.6em}.contact{background:var(--color-surface-offset);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-24)}.phone{font-size:var(--text-xl);font-weight:600;text-decoration:none;display:block;margin-block:var(--space-6) var(--space-2)}.contact-details h3{font-size:var(--text-base);margin-top:var(--space-6)}.contact-details h3:first-child{margin-top:0}.contact-details p{font-size:var(--text-sm)}footer{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-8);font-size:var(--text-xs)}.mobile-actions{display:none}.skip{position:fixed;top:-100px;left:var(--space-4);padding:var(--space-4);background:var(--color-bg);z-index:20}.skip:focus{top:var(--space-4)}.image-fallback{min-height:160px;display:grid;place-items:center;padding:var(--space-6);background:var(--color-surface-offset);font-size:var(--text-sm)}
@media(max-width:1000px){.header-call{display:none}.hero{gap:var(--space-10)}.split,.reviews,.contact-grid{gap:var(--space-12)}.brand span{display:none}.photo-pair img{height:280px}}
@media(max-width:640px){.wrap{width:calc(100% - var(--space-8))}.header{padding-block:var(--space-3);gap:var(--space-3)}.brand img{width:52px;height:52px}nav{gap:var(--space-4)}nav a{font-size:var(--text-xs)}.hero{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-10)}.hero .eyebrow{max-width:29ch}h1{font-size:var(--text-hero)}.campaign{justify-self:center;width:min(100%,360px)}.hero-note{display:block}.hero-note span{display:block}.section{padding-block:var(--space-12)}.split,.reviews,.contact-grid,.process-grid{grid-template-columns:1fr;gap:var(--space-8)}.section-top{display:block;margin-bottom:var(--space-4)}.section-top>p{margin-bottom:var(--space-4)}.photo-pair{grid-template-columns:1fr;gap:var(--space-5)}.photo-pair img{height:auto;max-height:430px;object-fit:contain}.service-list article{gap:var(--space-4)}.qr-panel{padding:var(--space-6)}footer{flex-direction:column;padding-bottom:var(--space-24);gap:var(--space-2)}.mobile-actions{display:grid;grid-template-columns:1.5fr 1fr;position:fixed;bottom:0;left:0;right:0;background:var(--color-bg);border-top:1px solid var(--line);z-index:5;padding:var(--space-2);gap:var(--space-2)}.mobile-actions a{text-align:center;text-decoration:none;padding:var(--space-3);font-size:var(--text-sm);font-weight:600;min-height:48px}.mobile-actions a:first-child{background:var(--color-primary);color:#fff9f0}.mobile-actions a:last-child{border:1px solid var(--color-text)}.actions{gap:var(--space-3)}.actions .button{width:100%}}
@media(max-width:640px){
  html{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .hero .eyebrow{max-width:none}
  .mobile-actions{padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}
  footer{padding-bottom:calc(var(--space-24) + env(safe-area-inset-bottom,0px))}
}
