:root{--paper:#f7f6f2;--ink:#202422;--muted:#60675f;--gold:#96763d;--line:#d8dcd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold)}.notice{padding:7px 20px;background:#e8e6dd;text-align:center;font-size:13px}.wrap{max-width:1240px;margin:auto;padding:0 52px}header{border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:104px}.brand{text-decoration:none;line-height:1.05;font-size:24px;letter-spacing:4px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:4.1px;margin-top:8px}.links{display:flex;gap:27px;align-items:center;font-size:14px}.links a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;background:var(--ink);color:white;text-decoration:none;border:1px solid var(--ink);cursor:pointer;font-size:14px;letter-spacing:.3px}.button.light{background:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:12px;color:var(--gold);font-weight:600}.hero{padding:82px 0 66px}.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(52px,6.8vw,90px)/1.04 Georgia,serif;letter-spacing:-3px;margin:25px 0 28px}h1 em{font-weight:400;color:var(--gold)}.lead{font-size:18px;color:var(--muted);max-width:510px;line-height:1.7}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:33px}.text-link{font-size:14px}.index{border-top:1px solid var(--line);padding-top:19px}.index .eyebrow{margin-bottom:25px}.index a{display:flex;gap:17px;align-items:baseline;text-decoration:none;padding:17px 0;border-bottom:1px solid var(--line);font:22px Georgia,serif}.index span{font:12px Arial;color:var(--gold)}.area-line{border-top:1px solid var(--line);padding:22px 0;font-size:13px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.section{padding:86px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}h2{font:400 clamp(34px,4vw,52px)/1.1 Georgia,serif;letter-spacing:-1px;margin:13px 0 0}.section-heading p{max-width:330px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{border:1px solid var(--line);padding:30px 32px;min-height:230px;display:flex;flex-direction:column}.card .number{font-size:12px;letter-spacing:1px;color:var(--gold)}h3{font:29px/1.2 Georgia,serif;margin:23px 0 13px}.card p{max-width:380px;color:var(--muted);font-size:15px}.card a{margin-top:auto;font-size:14px}.dark{background:#252c28;color:#f8f7f1}.dark .eyebrow{color:#ceb881}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.dark p{color:#ced2c9;margin:26px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:22px}.step span{font-size:13px;color:var(--gold)}.step h3{font-size:23px;margin-top:17px}.step p{font-size:15px;color:var(--muted)}.cities{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.cities span{padding:8px 16px;border:1px solid var(--line);font-size:14px}.rule{border-top:1px solid var(--line)}.soon{margin-top:35px;font-size:14px;color:var(--muted)}.footer{padding:45px 0 90px}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer p,.footer a{font-size:14px}.mobile-bar{display:none}.menu-button{display:none}.content{max-width:820px}.content p,.content li{color:var(--muted)}.content h2{margin:45px 0 20px}.breadcrumb{font-size:13px;margin-bottom:30px}.form-shell{max-width:850px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:14px}input,select,textarea{width:100%;padding:13px;border:1px solid #a8ada5;background:#fff;border-radius:0;color:var(--ink);margin-top:7px}textarea{min-height:130px;resize:vertical}.full{grid-column:1/-1}.hint{color:var(--muted);font-size:13px}.check{display:flex;align-items:start;gap:12px}.check input{width:20px;height:20px;flex-shrink:0;margin:3px 0}.status{margin-top:24px;padding:20px;border:1px solid var(--gold);background:#efeee6}.status:empty{display:none}footer a:hover,.text-link:hover{color:var(--gold)}@media(max-width:850px){.wrap{padding:0 26px}.hero-grid,.split{grid-template-columns:1fr;gap:40px}.hero{padding:48px 0}.index{display:none}.links{gap:16px}.links .secondary{display:none}.steps{grid-template-columns:1fr 1fr}.section{padding:60px 0}.section-heading{display:block}.section-heading p{margin-top:20px}}@media(max-width:560px){.wrap{padding:0 22px}.nav{min-height:86px;position:relative}.brand{font-size:20px}.brand small{font-size:9px;letter-spacing:3px}.menu-button{display:block;background:none;border:1px solid var(--line);padding:9px 12px;font-size:14px}.links{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:22px;z-index:5;border-bottom:1px solid var(--line)}.links.open{display:flex;flex-direction:column;align-items:stretch}.links .secondary{display:block}h1{font-size:54px;letter-spacing:-2px}.lead{font-size:16px}.cards,.steps,.form-grid{grid-template-columns:1fr}.card{min-height:220px;padding:26px}.area-line{display:block}.area-line span{display:block}.section-heading{margin-bottom:28px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;padding:9px 14px;gap:12px;z-index:10}.mobile-bar a{font-size:13px;text-decoration:none}.mobile-bar .button{padding:10px 15px;min-height:42px}.full{grid-column:auto}.notice{font-size:12px}.footer-grid{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Homepage opening and content typography. */
.home .brand-intro{min-height:calc(100svh - 139px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 24px 120px;background:#252c28;color:var(--paper);overflow:hidden}
.intro-inner{width:100%;max-width:1100px}
.brand-intro .eyebrow{color:#ceb881;font-size:11px;letter-spacing:3px}
.intro-wordmark{font:500 clamp(42px,10vw,134px)/1.05 Arial,Helvetica,sans-serif;letter-spacing:clamp(3px,1.2vw,18px);margin:36px 0 0;padding-left:.12em}
.intro-wordmark span{display:block;font:400 clamp(11px,1.7vw,21px)/1.6 Arial,Helvetica,sans-serif;letter-spacing:clamp(5px,1.1vw,14px);margin-top:20px}
.intro-rule{height:1px;width:80px;background:#ceb881;margin:35px auto 25px}
.intro-tagline{color:#ced2c9;font-size:15px;letter-spacing:.6px}
.scroll-invitation{position:absolute;bottom:25px;display:flex;flex-direction:column;gap:8px;align-items:center;text-decoration:none;color:#e0e3d9;font-size:12px;letter-spacing:1px;padding:12px}
.scroll-arrow{font-size:24px;color:#ceb881}
.home .journey-panel{display:flex;align-items:center;padding-block:clamp(48px,6vw,80px)}
.home .journey-panel>.wrap{width:100%}
.hero-title{font:400 clamp(52px,6.8vw,90px)/1.04 Georgia,serif;letter-spacing:-3px;margin:25px 0 28px}
.hero-title em{color:var(--gold);font-weight:400}
.home .hero-grid{align-items:center}
@media(prefers-reduced-motion:no-preference){
 .intro-wordmark{animation:brand-arrive 1s cubic-bezier(.2,.7,.2,1) both}
 .scroll-invitation{animation:brand-arrive 1s .2s both}
 .home .button{transition:background .2s,transform .2s}
 .home .button:hover{transform:translateY(-2px)}
 @keyframes brand-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:560px){
 .home .brand-intro{min-height:calc(100svh - 126px);padding:65px 22px 150px}
 .intro-wordmark{font-size:clamp(32px,10vw,56px);letter-spacing:3px}
 .intro-wordmark span{font-size:11px;letter-spacing:5px}
 .intro-tagline{font-size:13px}
 .home .brand-intro .eyebrow{font-size:9px;letter-spacing:1.5px}
 .scroll-invitation{bottom:72px;font-size:11px}
 .home .journey-panel{padding-block:48px}
 .hero-title{font-size:54px;letter-spacing:-2px}
}

[hidden]{display:none!important}
.quiz-shell{max-width:900px}
.quiz-intro{margin-top:24px}
#service-quiz-form,#quiz-results{margin-top:32px;padding:32px;border:1px solid var(--line);background:#fffdf8}
#quiz-progress{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.quiz-step{border:0;margin:0;padding:0;min-width:0}
.quiz-step legend{font:28px/1.25 Georgia,serif;margin-bottom:24px;padding:0;width:100%}
.quiz-choice{display:flex;gap:14px;align-items:center;padding:15px 18px;border:1px solid var(--line);margin-bottom:10px;cursor:pointer}
.quiz-choice input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--gold)}
.quiz-choice:has(input:checked){background:#f0ebdf;border-color:var(--gold)}
.quiz-choice:focus-within{outline:2px solid var(--gold);outline-offset:2px}
#quiz-zip{max-width:260px}
.quiz-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin:26px 0}
#quiz-error{color:#8c291d;min-height:1.5em;margin-top:16px}
.quiz-recommendation{padding:18px 0;border-top:1px solid var(--line)}
.quiz-recommendation h4{font:24px Georgia,serif;margin:0 0 8px}
.quiz-recommendation p{margin-bottom:0;color:var(--muted)}
@media(max-width:560px){#service-quiz-form,#quiz-results{padding:22px 16px}.quiz-step legend{font-size:25px}.quiz-choice{padding:14px 12px}.quiz-shell .actions{gap:12px}.quiz-shell .actions .button{width:100%}}

/* Fit browser panels, small screens, and short windows without clipping content. */
.wrap{width:100%;padding-inline:clamp(18px,4vw,52px)}
.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,5vw,70px)}
.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,6vw,90px)}
.cards,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.hero-grid>*,.split>*,.cards>*,.steps>*,.form-grid>*,.footer-grid>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
p,a,label,.status{overflow-wrap:anywhere}
.button{max-width:100%;text-align:center}
.home .nav{min-height:80px;gap:18px}
.home .brand-intro{
 min-height:calc(100svh - var(--intro-offset,116px));
 padding:clamp(28px,6svh,64px) clamp(18px,4vw,52px) clamp(80px,14svh,120px);
}
.intro-wordmark{font-size:clamp(30px,9vw,112px);letter-spacing:clamp(2px,.9vw,12px);margin-top:clamp(18px,4svh,36px)}
.intro-wordmark span{font-size:clamp(10px,1.7vw,19px);letter-spacing:clamp(3px,.8vw,10px);margin-top:14px}
.intro-rule{margin:clamp(18px,4svh,30px) auto 18px}
.scroll-invitation{bottom:14px;max-width:calc(100% - 36px)}
.home .hero{padding-block:clamp(48px,6vw,72px)}
.hero-title{font-size:clamp(38px,6.5vw,82px);letter-spacing:-1.5px}
h1{font-size:clamp(38px,6.5vw,82px);letter-spacing:-1.5px}
h2{font-size:clamp(30px,4vw,52px)}
.section{padding-block:clamp(40px,8svh,86px)}
.actions{gap:14px 20px}
#service-quiz-form,#quiz-results{padding:clamp(18px,3vw,32px)}
.quiz-step legend{font-size:clamp(22px,3vw,28px)}
@media(max-width:850px){
 .hero-grid,.split{grid-template-columns:minmax(0,1fr);gap:32px}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .nav,.home .nav{min-height:76px;position:relative;gap:14px}
 .brand{font-size:20px;letter-spacing:3px}
 .brand small{font-size:9px;letter-spacing:3px}
 .menu-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:44px;padding:10px 14px;-webkit-appearance:none;appearance:none;border:1px solid var(--gold);border-radius:0;background:transparent;color:var(--ink);font-size:11px;font-weight:600;line-height:1;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer}
 .menu-button::before{content:"";display:block;flex:none;width:16px;height:12px;background:linear-gradient(var(--gold),var(--gold)) left 2px/16px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) left 9px/16px 1px no-repeat}
 .menu-button[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
 .menu-button[aria-expanded="true"]::before{background:linear-gradient(45deg,transparent 46%,#ceb881 46%,#ceb881 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#ceb881 46%,#ceb881 54%,transparent 54%)}
 .links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px;z-index:20;border-bottom:1px solid var(--line)}
 .links.open{display:flex;flex-direction:column;align-items:stretch}
 .links .secondary{display:block}
}
@media(max-width:560px){
 .cards,.steps,.form-grid{grid-template-columns:minmax(0,1fr)}
 .home .journey-panel{min-height:0;padding-block:48px}
 .home .brand-intro{margin-bottom:0}
 .intro-wordmark{font-size:clamp(28px,9vw,50px)}
 .intro-tagline{font-size:13px}
 .scroll-invitation{bottom:12px}
 .card{padding:24px;min-height:0}
 .card a{margin-top:12px}
 .mobile-bar{padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:10px}
 .mobile-bar .button{padding-inline:12px}
 .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 html{scroll-padding-top:24px;scroll-padding-bottom:90px}
}
@media(max-height:600px){
 .home .brand-intro{padding-top:24px;padding-bottom:72px}
 .intro-wordmark{font-size:clamp(28px,8vw,72px);margin-top:16px}
 .intro-rule{margin:16px auto}
 .intro-tagline{margin-bottom:0}
 .home .journey-panel{min-height:0;padding-block:40px}
}

/* One opening fold, followed by content in normal document flow. */
.home-opening{position:relative;isolation:isolate}
.home .home-opening .hero{position:relative;z-index:1;background:var(--paper)}
.home .hero-grid .area-line{grid-column:1/-1;width:100%;margin-top:12px}
.home #service-quiz,.home #customer-reviews,.home .home-process{background:#efede5}
.home .home-process{border-block:1px solid var(--line)}
@media(prefers-reduced-motion:no-preference){
 .home.opening-ready .brand-intro{position:sticky;top:var(--opening-top,0px)}
 .home.opening-ready .home-opening .hero{box-shadow:0 -22px 45px -30px rgb(20 28 23 / .35)}
 .home .reveal-item{transition:opacity .55s ease,translate .55s cubic-bezier(.2,.7,.2,1)}
 .home .reveal-pending{opacity:0;translate:0 14px}
 .home .reveal-pending:focus-within{opacity:1;translate:0 0}
 .quiz-step:not([hidden]),#quiz-results:not([hidden]){animation:brand-arrive .35s ease both}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .home .card{transition:opacity .55s ease,translate .55s cubic-bezier(.2,.7,.2,1),border-color .2s,background .2s,transform .2s,box-shadow .2s}
 .home .card:hover{border-color:#b99d65;background:#fffdf8;transform:translateY(-4px);box-shadow:0 12px 24px -18px rgb(32 36 34 / .3)}
 .home .work-photo a{display:block;transition:transform .25s,box-shadow .25s}
 .home .work-photo a:hover{transform:translateY(-4px);box-shadow:0 14px 26px -18px rgb(32 36 34 / .4)}
}
@media(prefers-reduced-motion:reduce){
 .home .brand-intro{position:relative}
 .home .reveal-item{opacity:1;translate:none;transition:none}
}

.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.work-photo{margin:0;min-width:0}.work-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#e8e6dd}.work-photo figcaption{padding:12px 0;color:var(--muted);font-size:14px}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:12px;top:12px;z-index:100;background:var(--paper);padding:12px}@media(max-width:700px){.work-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

.featured-photo-grid,.owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.featured-photo-grid figure{margin:0;min-width:0}
.featured-photo-grid img{width:100%;height:auto;max-height:70svh;object-fit:contain;display:block;background:#e8e6dd}
.featured-photo-grid figcaption{padding:12px 0;font-size:14px;color:var(--muted)}
.review-disclosure{max-width:720px;margin-top:24px;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.review-card{border:1px solid var(--line);padding:24px;min-width:0;background:#fffdf8}
.sample-label{font-size:12px;font-weight:bold}.review-stars{color:var(--gold);font-size:24px;letter-spacing:3px}
.review-card blockquote{font:23px/1.5 Georgia,serif;margin:18px 0}
.owner-card{min-width:0;border:1px solid var(--line)}
.owner-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#202422}
.owner-copy{padding:28px}.owner-copy h2{margin-bottom:20px}
@media(min-width:701px) and (max-width:1000px){.nav{gap:14px}.links{gap:14px}.links .secondary{display:none}}
@media(max-width:700px){.featured-photo-grid,.owner-grid,.review-grid{grid-template-columns:minmax(0,1fr)}.featured-photo-grid img{max-height:none}.owner-copy{padding:24px}}

/* Approved soft-gold identity: cream lettering and an Arizona emblem. */
.button:not(.outline){background:#806535;border-color:#806535;color:#fffdf7}
.button:not(.outline):hover{background:#70582e;border-color:#70582e}
.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:4px;line-height:1.1}
.brand small{font-family:Georgia,'Times New Roman',serif;letter-spacing:4px;margin-top:8px}
.home .brand-intro{padding:clamp(24px,4svh,44px) 24px 76px;background:#252c28}
.intro-inner{max-width:850px}
.intro-emblem{display:block;width:min(70%,540px);height:auto;aspect-ratio:2/1;object-fit:contain;margin:0 auto 8px}
.intro-wordmark{font:400 clamp(38px,8vw,100px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:clamp(4px,1vw,13px);color:var(--paper);margin:0;padding-left:.12em}
.intro-wordmark span{display:flex;align-items:center;justify-content:center;gap:18px;font:400 clamp(12px,2.3vw,28px)/1.3 Georgia,'Times New Roman',serif;letter-spacing:clamp(4px,.8vw,10px);color:#ceb881;margin-top:12px;padding-left:0}
.intro-wordmark span::before,.intro-wordmark span::after{content:"";height:1px;width:clamp(22px,5vw,70px);background:#ceb881}
.intro-rule{background:var(--gold);width:70px;margin:28px auto 20px}
.intro-tagline{font-size:clamp(13px,1.5vw,18px);letter-spacing:1px;color:var(--paper);margin:0}
.scroll-invitation{font-size:11px;letter-spacing:.6px;bottom:10px;gap:0}
.scroll-arrow{color:#ceb881}
@media(max-width:560px){
 .brand{font-size:21px;letter-spacing:3px}
 .brand small{font-size:9px;letter-spacing:3px}
 .home .brand-intro{padding:30px 20px 88px}
 .intro-emblem{width:90%;max-width:370px;margin-bottom:12px}
 .intro-wordmark{font-size:clamp(30px,9vw,50px);letter-spacing:3px}
 .intro-wordmark span{font-size:13px;letter-spacing:4px;gap:10px}
 .intro-rule{margin:25px auto 20px}
 .intro-tagline{max-width:280px;margin-inline:auto;line-height:1.7}
}
@media(max-height:650px) and (min-width:561px){
 .intro-emblem{width:34%;max-width:320px}
 .intro-wordmark{font-size:clamp(38px,6vw,72px)}
 .intro-wordmark span{font-size:18px}
 .intro-rule{margin:16px auto 12px}
}

/* Circular owner portraits, with room around each photo. */
.owner-card{padding-top:28px}
.owner-card img{width:calc(100% - 56px);max-width:340px;aspect-ratio:1;height:auto;object-fit:cover;border-radius:50%;margin:0 auto}

/* Approved customer photos, owner introductions and social links. */
.work-grid{align-items:start}
.work-photo img{aspect-ratio:auto;background:transparent;max-height:none}
.featured-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
.featured-photo-grid img{max-height:none;aspect-ratio:auto;background:transparent}
.owner-email{overflow-wrap:anywhere;margin-top:0;margin-bottom:24px}
.owner-copy h2{margin-bottom:12px}
/* Keep Nolan's taller source framed consistently after image optimization. */
.owner-portrait--nolan{position:relative;width:calc(100% - 56px);max-width:340px;aspect-ratio:1;overflow:hidden;border-radius:50%;margin:0 auto;background:#969591}
.owner-card .owner-portrait--nolan img{position:absolute;left:8%;top:-4%;width:90%;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;margin:0;background:transparent;mask-image:linear-gradient(to right,transparent,#000 8%,#000 96%,transparent)}
.review-name{font-weight:600;font-size:15px;margin-top:24px}
.social-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none;font-size:14px}
.social-links a:hover span{text-decoration:underline}
.social-links svg{width:20px;height:20px;flex:none}
.footer-social{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}
@media(max-width:700px){.featured-photo-grid{grid-template-columns:minmax(0,1fr)}}

/* Production form accessibility and disabled state. */
fieldset{border:0;padding:0;margin:0;min-width:0} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} :focus-visible{outline:3px solid #b99455;outline-offset:4px} button:disabled{opacity:.6;cursor:not-allowed} #form-result:empty{display:none} input[type=file]{max-width:100%}

/* Consistent contact details and review navigation on every public page. */
.header-identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-shrink:0;padding-block:14px}
.header-phone{display:inline-flex;align-items:center;min-height:28px;font-size:14px;line-height:1.2;letter-spacing:.3px;white-space:nowrap;text-decoration:none;color:var(--gold)}
.header-phone:hover{text-decoration:underline;color:var(--ink)}
.nav .links{gap:22px}
.nav .links>a{white-space:nowrap}
@media(min-width:701px) and (max-width:1120px){.nav .links{gap:16px}.nav .links .secondary{display:none}}
@media(max-width:700px){
 .header-identity{gap:5px;padding-block:12px}
 .header-phone{min-height:32px;font-size:14px}
 .nav .links{gap:8px}
 .nav .links>a:not(.button){display:flex;align-items:center;min-height:44px}
}

/* Keep navigation visible without covering anchor targets or short-screen menus. */
header{position:sticky;top:0;z-index:50;background:var(--paper);box-shadow:0 3px 12px rgb(32 36 34 / .05)}
html{scroll-padding-top:calc(var(--header-height,110px) + 16px)}
@media(max-width:700px){
 .nav .links{max-height:calc(100dvh - var(--header-height,103px) - var(--menu-bottom-space,16px));overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:560px){html{--menu-bottom-space:calc(80px + env(safe-area-inset-bottom))}}

/* Other pages keep their sections in normal flow. */
body:not(.home) main>section{position:relative;top:auto;z-index:auto;box-shadow:none}

/* Pricing: one service at a time, with readable comparisons on every screen. */
.nav .links>a[aria-current="page"]{color:var(--gold);text-decoration:underline;text-underline-offset:7px}
.pricing-hero{padding-bottom:42px}
.pricing-hero .lead{max-width:640px}
.pricing-intro-note{max-width:650px;font-size:14px;color:var(--muted);margin-bottom:0}
.pricing-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding:0 0 54px}
.pricing-jumps a{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:17px 0;text-decoration:none;font-size:14px}
.pricing-jumps a:hover{color:var(--gold)}
.pricing-jumps span{color:var(--gold)}
.pricing-section{padding-block:72px;scroll-margin-top:16px}
.pricing-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:36px}
.pricing-heading h2{font-size:clamp(32px,4.2vw,52px)}
.pricing-heading>p{max-width:330px;color:var(--muted);margin:0;font-size:15px}
.pricing-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.pricing-package{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);padding:28px;background:#fffdf8}
.pricing-package.featured{border-color:var(--gold);background:#f1ede3}
.package-label{font-size:11px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:#806535;min-height:20px}
.pricing-package h3{margin:13px 0 20px;font-size:29px}
.package-price{font:400 58px/1.1 Georgia,serif;letter-spacing:-2px;margin-bottom:8px}
.package-price>span{display:block;font:11px/1.5 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:8px}
.vehicle-label{font-size:13px;color:var(--muted);margin-bottom:24px}
.price-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.price-table caption{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:600;color:#806535;padding-bottom:15px}
.pricing-packages:not(.bin-packages) .price-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.price-table th,.price-table td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{text-align:left;font-weight:400;padding-right:16px}
.price-table td{text-align:right;white-space:nowrap;font-weight:600}
.pricing-package .price-table{font-size:13px}
.pricing-package .price-table th,.pricing-package .price-table td{padding:12px 0}
.pricing-includes{list-style:none;padding:0;margin:24px 0 30px;font-size:14px}
.pricing-includes li{position:relative;padding-left:24px;margin:10px 0}
.pricing-includes li::before{content:"✓";position:absolute;left:0;color:#806535}
.pricing-package .button{margin-top:auto;width:100%;font-size:13px;padding-inline:12px}
.pricing-note{font-size:13px;line-height:1.7;color:var(--muted);margin:24px 0 0;max-width:1000px}
.pricing-addons{margin-top:52px;padding-top:36px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height,110px) + 16px)}
.pricing-subheading{margin:0 0 28px}
.pricing-subheading h3{font-size:30px;margin:12px 0}
.pricing-subheading>p{color:var(--muted);font-size:14px;margin:0}
.pricing-two-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.pricing-addons .text-link{display:inline-block;margin-top:22px}
.quote-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:start}
.pricing-quote-card{padding:36px;background:#edece4;border:1px solid var(--line)}
.quote-price{font:400 72px/1.1 Georgia,serif;letter-spacing:-2px;margin:20px 0}
.pricing-quote-card>p:not(.quote-price),.quote-copy>p{font-size:15px;color:var(--muted)}
.pricing-quote-card .button{margin-top:10px}
.quote-copy h3{margin-top:0}
.quote-copy .pricing-includes{margin-top:20px}
.pricing-service-note{margin-top:28px;max-width:880px;font-size:14px;color:var(--muted)}
.pricing-service-note p{margin-bottom:10px}
.pricing-service-note strong{color:var(--ink)}
.bin-packages .price-table{margin-bottom:28px}
.bin-packages .price-table td{font-size:21px;font-family:Georgia,serif;font-weight:400}
.pricing-section-intro{max-width:760px;color:var(--muted);font-size:15px;margin:0 0 30px}
.ceramic-list{margin-bottom:48px;border-top:1px solid var(--line)}
.ceramic-row{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1.8fr) minmax(140px,.75fr);gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}
.ceramic-row h3{font-size:28px;margin:0}
.ceramic-row p{margin:0;font-size:14px;color:var(--muted)}
.ceramic-term{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#806535;text-align:right}
.ceramic-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.ceramic-extras article{border-top:1px solid var(--line);padding-top:20px}
.ceramic-extras h4{font:25px/1.2 Georgia,serif;margin:0 0 12px}
.ceramic-extras p{font-size:14px;color:var(--muted);margin-bottom:8px}
.ceramic-extras .ceramic-surface{font-size:12px;font-weight:600;color:var(--ink)}
#ceramic-coatings>.wrap>.button{margin-top:28px}
.pricing-final h2{margin-top:18px}
.pricing-final p{max-width:620px}
.pricing-final .pricing-final-note{font-size:13px;margin:28px 0 0}
@media(min-width:701px) and (max-width:1180px){.nav .links .secondary{display:none}}
@media(max-width:980px){
 .pricing-packages{gap:14px}
 .pricing-package{padding:24px 18px}
 .pricing-package h3{font-size:25px}
 .pricing-heading{display:block}
 .pricing-heading>p{margin-top:20px;max-width:620px}
 .quote-layout{gap:36px}
}
@media(max-width:760px){
 .pricing-packages,.pricing-two-tables,.quote-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .pricing-package{padding:28px}
 .pricing-package h3{font-size:30px}
 .pricing-package .price-table{font-size:14px}
 .pricing-package .button{margin-top:0;align-self:start;width:auto;min-width:200px}
 .pricing-jumps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding-bottom:36px}
 .pricing-section{padding-block:48px}
 .pricing-heading{margin-bottom:28px}
 .ceramic-row{grid-template-columns:1fr;gap:10px;padding-block:24px}
 .ceramic-term{text-align:left}
 .ceramic-extras{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .pricing-quote-card{padding:28px}
}
@media(max-width:400px){.ceramic-extras{grid-template-columns:minmax(0,1fr)}.pricing-package{padding:24px}.pricing-jumps a{font-size:13px}}
