@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:optional;src:url("/fonts/barlow-condensed-600.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:optional;src:url("/fonts/barlow-condensed-700.woff2") format("woff2")}

:root{
  --navy:#1C3253;--navy-2:#26426B;--deep:#122A50;--ink:#0C1F3D;
  --gold:#E9B04A;--gold-2:#F4C76A;--amber:#F59824;
  --surface-white:#FFFFFF;--on-dark:#FFFFFF;--white:#FFFFFF;--soft:#E0E7F0;--muted:#E0E7F0;--gold-text:#FFE5B4;
  --display:"Barlow Condensed","Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(18px,5vw,48px);
  --gloss-top:#1C3F7A;--gloss-bottom:#0C1F3D;--gloss-glow:rgba(255,255,255,.34);
  --gloss-diagonal:rgba(255,255,255,.14);--gloss-inset:rgba(255,255,255,.30);
  --project-label-gold:#F2C163;
  --navy-lacquer:radial-gradient(55% 30% at 30% 4%,var(--gloss-glow),transparent 70%),linear-gradient(112deg,transparent 40%,var(--gloss-diagonal) 50%,transparent 58%),linear-gradient(180deg,#1C3F7A 0%,#16336A 40%,#0F2650 75%,#0C1F3D 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--deep)}
body{
  min-height:100vh;color:var(--white);font-family:var(--body);font-size:16px;line-height:1.55;
  background:
    radial-gradient(120% 40% at 50% -6%,rgba(84,128,190,.50) 0%,rgba(28,50,83,0) 60%),
    radial-gradient(60% 40% at 85% 100%,rgba(233,176,74,.10) 0%,rgba(233,176,74,0) 70%),
    linear-gradient(180deg,var(--navy) 0%,var(--deep) 100%);
  overflow-x:hidden;display:flex;flex-direction:column;
}
main{flex:1 0 auto;min-width:0}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.15;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 120px,rgba(0,0,0,.05) 120px 122px,transparent 122px 240px);
}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--gold-text)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold-2);outline-offset:4px;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img,svg{max-width:100%}
img{display:block;height:auto}
p,li,figcaption{white-space:pre-line}
[hidden]{display:none}
.wrap{position:relative;z-index:1;width:100%;max-width:1180px;margin:0 auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;left:var(--gutter);top:0;z-index:20;padding:12px 18px;background:var(--gold);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Original home top bar and hero. */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:8px}
.top .loc{font-family:var(--display);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.top .loc b{color:var(--gold-text);font-weight:600}
.top .call{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.06em;text-decoration:none;color:var(--white);border:1px solid rgba(233,176,74,.55);border-radius:999px;padding:7px 14px;transition:background .2s,border-color .2s}
.top .call:hover{background:rgba(233,176,74,.12);border-color:var(--gold)}
.top .call svg{width:15px;height:15px;color:var(--gold-text)}
.hero{text-align:center;padding-top:clamp(20px,5vh,56px);padding-bottom:clamp(28px,5vh,56px)}
.frame{position:relative;display:block;width:min(100%,680px);margin:0 auto;padding:clamp(22px,4.2vw,40px) clamp(20px,4.6vw,46px)}
.frame>svg.ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.frame .ring rect{fill:none;stroke:var(--gold);vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.6s cubic-bezier(.65,0,.35,1) .15s both}
.frame .ring .outer{stroke-width:2.5}
.frame::after{content:"";position:absolute;inset:9px;border:1px solid rgba(233,176,74,.55);border-radius:2px;pointer-events:none;animation:fade .8s ease-out 1.2s both}
.frame .logo{display:block;width:100%;height:auto;animation:rise .9s ease-out .35s both}
.frame .corner{position:absolute;width:12px;height:12px;background:var(--gold);transform:rotate(45deg);animation:pop .4s ease-out 1.5s both}
.frame .c1{left:-6px;top:50%;margin-top:-6px}
.frame .c2{right:-6px;top:50%;margin-top:-6px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(26px,4.5vh,44px);font-family:var(--display);font-weight:600;font-size:clamp(14px,1.6vw,17px);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-text);animation:rise .8s ease-out .9s both}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:2px;background:currentColor;opacity:.8}
h1{margin-top:14px;font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:.01em;font-size:clamp(40px,7.4vw,84px);animation:rise .9s ease-out .1s both}
h1 .l2{color:var(--gold-text)}
h1 span{display:block}
.hero h1{margin-top:clamp(26px,4.5vh,44px)}
.lead{max-width:600px;margin:clamp(18px,3vh,28px) auto 0;font-size:clamp(17px,1.7vw,19px);color:var(--soft);animation:rise .8s ease-out 1.3s both}
.lead strong{color:var(--white);font-weight:600}
.ctas{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:clamp(22px,3.5vh,32px);animation:rise .8s ease-out 1.45s both}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 26px;border:0;border-radius:10px;text-decoration:none;text-align:center;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.05em;text-transform:uppercase;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}
.btn svg{width:20px;height:20px;flex:none}
.btn-gold{width:100%;max-width:420px;color:var(--ink);background:linear-gradient(180deg,#F9D893 0%,#F2C163 48%,#E6A93F 52%,#EDB54F 100%);box-shadow:0 10px 28px rgba(233,176,74,.34),inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 0 rgba(140,90,20,.25)}
.btn-gold:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 14px 34px rgba(233,176,74,.38),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-row{display:flex;gap:12px;width:100%;max-width:420px}
.btn-line{flex:1;color:var(--white);border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.04);font-size:18px;padding:10px 14px}
.btn-line:hover{color:var(--white);border-color:var(--gold-text);background:rgba(233,176,74,.1)}
.btn-line svg{color:var(--gold-text)}
.btn:disabled{cursor:wait;opacity:.65;transform:none}
.services{margin-top:clamp(28px,4vh,40px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px}
.services span{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.area{margin-top:14px;font-size:15px;color:var(--muted)}

/* Shared navigation and compact inner-page header. */
.site-header{position:relative;z-index:2;border-bottom:1px solid rgba(233,176,74,.25)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:calc(16px + env(safe-area-inset-top,0px)) 16px}
.frame-small{width:190px;max-width:100%;margin:0;padding:14px 16px;text-decoration:none;flex:none}
.frame-small::after{inset:5px;animation:none}
.frame-small .logo,.frame-small .ring rect,.frame-small .corner{animation:none}
.frame-small .corner{width:8px;height:8px}
.frame-small .c1{left:-4px;margin-top:-4px}
.frame-small .c2{right:-4px;margin-top:-4px}
.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-size:18px;font-weight:600;text-decoration:none}
.site-nav a[aria-current="page"]{color:var(--gold-text);text-decoration:underline}
.site-nav .btn{font-size:17px;min-height:44px;width:auto;padding:8px 16px}
.nav-phone{white-space:nowrap}
.menu-toggle{min-height:44px;padding:8px 16px;color:var(--white);background:transparent;border:1px solid var(--gold);border-radius:6px;font-family:var(--display);font-size:18px;font-weight:600}
.home-navigation{padding-top:10px;padding-bottom:10px}
.home-navigation .site-nav{justify-content:center}

/* Shared page sections. */
.section{padding-block:clamp(36px,6vw,72px);border-top:1px solid rgba(233,176,74,.22)}
h2,h3{font-family:var(--display);font-weight:700;line-height:1.1}
h2{font-size:clamp(32px,4.5vw,48px);margin-bottom:20px}
h3{font-size:27px;color:var(--gold-text);margin-bottom:10px}
.section p,.prose p{max-width:760px;color:var(--soft)}
.section p+p,.prose p+p{margin-top:18px}
.section .section-link{margin-top:24px}
.section-link{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-text);font-weight:600}
.card-grid{display:grid;gap:18px;list-style:none}
.card{padding:24px;border:1px solid rgba(233,176,74,.28);border-radius:12px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 28px rgba(5,14,30,.35)}
.card strong{color:var(--white)}
.steps{display:grid;gap:18px;list-style:none;counter-reset:step}
.steps li{counter-increment:step;padding:24px;border-top:2px solid var(--gold);background:rgba(255,255,255,.035)}
.steps li::before{content:"0" counter(step);display:block;font-family:var(--display);font-weight:700;font-size:38px;color:var(--muted);margin-bottom:12px}
.project-cta{text-align:center}
.project-cta p{margin-inline:auto}
.page-hero{padding-block:clamp(40px,7vw,80px) 32px}
.page-hero h1{max-width:940px;font-size:clamp(42px,6vw,72px);animation:none}
.page-hero .lead{margin-inline:0;max-width:760px;animation:none}
.prose{max-width:800px}
.prose ul{padding-left:24px;color:var(--soft)}
.prose li+li{margin-top:10px}

/* Before and after pairs. */
.gallery{display:grid;gap:24px;margin-top:26px}
.gallery-status{margin-top:20px}
.comparison{min-width:0;padding:12px;border:1px solid rgba(233,176,74,.3);border-radius:12px;background:rgba(6,20,42,.65)}
.comparison-stage{--split:50%;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--ink);touch-action:pan-y;cursor:ew-resize;user-select:none}
.comparison-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.comparison-stage .comparison-before{background:var(--ink);clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.comparison-stage::after{content:"";position:absolute;top:0;bottom:0;left:var(--split);width:3px;transform:translateX(-50%);background:var(--gold);pointer-events:none}
.comparison-tag{position:absolute;top:10px;z-index:1;padding:4px 10px;border-radius:4px;background:var(--ink);color:var(--white);font-size:13px;pointer-events:none}
.comparison-tag-before{left:10px}
.comparison-tag-after{right:10px}
.comparison figcaption{margin-top:14px;color:var(--soft)}
.comparison label{display:block;margin-top:14px;font-size:14px;color:var(--soft)}
.comparison input[type="range"]{display:block;width:100%;min-height:44px;accent-color:var(--gold-text);cursor:ew-resize}

/* Estimate and contact layouts. */
.contact-grid{display:grid;gap:32px}
.estimate-form{display:grid;gap:20px}
.form-row{display:grid;gap:20px}
.form-field{min-width:0}
.form-field label{display:block;margin-bottom:7px;font-weight:600}
.form-field input,.form-field textarea,.form-field select{width:100%;min-height:48px;padding:12px;border:1px solid var(--muted);border-radius:6px;color:var(--white);background:var(--ink)}
.form-field textarea{min-height:160px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}
.form-help{color:var(--soft);font-size:14px}
.form-field [aria-invalid="true"]{border-color:var(--gold-2)}
.form-message{padding:18px;border:1px solid var(--gold);border-radius:8px;color:var(--white);background:var(--ink)}
.form-message:empty{display:none}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-details{font-style:normal;color:var(--soft)}
.contact-details a{display:inline-block;min-height:44px;padding-block:10px;overflow-wrap:anywhere}

/* Shared footer. */
footer{position:relative;z-index:1;margin-top:clamp(40px,7vh,72px);border-top:1px solid rgba(233,176,74,.25);background:rgba(4,13,26,.45)}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:14px;color:var(--muted)}
footer .brand{font-family:var(--display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-size:15px}
footer a{color:var(--gold-text);text-decoration:none}
footer a:hover{text-decoration:underline}
.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-contact{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 20px}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
footer .footer-description{color:var(--soft)}

@media (min-width:720px){
  .ctas{flex-direction:row;justify-content:center;flex-wrap:wrap}
  .btn-gold{width:auto;max-width:none;padding-inline:30px}
  .btn-row{width:auto;max-width:none}
  .btn-line{flex:none;padding-inline:22px}
  .card-grid,.gallery,.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
}
@media (min-width:1000px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gallery-teaser{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:999px){
  .header-inner .site-nav{width:100%;flex-direction:column;align-items:stretch;gap:4px}
  .header-inner .site-nav .btn{align-self:flex-start}
  .home-navigation .site-nav{flex-direction:column;align-items:stretch;padding-top:12px}
  .home-navigation .site-nav .btn{align-self:flex-start}
}
@media (max-width:380px){.top .loc{display:none}}

@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:rotate(45deg) scale(0)}to{opacity:1;transform:rotate(45deg) scale(1)}}

@media (prefers-reduced-motion:reduce){
  .frame .ring rect,.frame::after,.frame .logo,.frame .corner,.eyebrow,h1,.lead,.ctas{animation:none}
  .btn,.top .call{transition:none}
  .btn-gold:hover{transform:none}
}

/* Shared names used by the inner pages */
.site-logo{display:block;width:clamp(120px,18vw,170px);height:auto}
.site-logo svg,.site-logo img{display:block;width:100%;height:auto}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));list-style:none;padding:0}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-weight:600;color:var(--white)}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border-radius:8px;border:1px solid rgba(233,176,74,.4);background:rgba(4,13,26,.55);color:var(--white);font:inherit}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:2px}
.field textarea{min-height:140px;resize:vertical}
.notice{padding:16px 18px;border-radius:10px;border:1px solid rgba(233,176,74,.45);background:rgba(233,176,74,.1);color:var(--white)}
.notice[hidden]{display:none}
@media (max-width:640px){.card-grid,.gallery,.form-row{grid-template-columns:1fr}}

/* Inner-page header (one for every page but home) */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 14px;background:var(--gold);color:#06142A;border-radius:6px}
.skip-link:focus{left:12px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(18,42,80,.95);backdrop-filter:blur(6px);border-bottom:1px solid rgba(233,176,74,.25)}
.site-header .hdr{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:10px}
.site-header .site-logo{width:150px;flex:none}
.site-header .site-logo img,.footer-logo img{display:block;width:100%;height:auto}
.footer-logo{width:150px;margin:0 auto}
.primary-nav{display:flex;align-items:center;gap:6px 22px;flex-wrap:wrap;justify-content:flex-end}
.primary-nav a{color:var(--soft);text-decoration:none;font-family:var(--display);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:15px}
.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--gold-text)}
.primary-nav .nav-cta,.primary-nav .nav-cta:hover{color:var(--ink);padding:10px 16px}
.primary-nav .nav-cta[aria-current=page]{color:#06142A}
.menu-toggle{display:none;font:600 15px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:transparent;border:1px solid rgba(233,176,74,.55);border-radius:8px;padding:9px 14px;cursor:pointer}
@media (max-width:1100px){.menu-toggle{display:inline-block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;background:rgba(6,20,42,.98);border-bottom:1px solid rgba(233,176,74,.3)}.primary-nav.open{display:flex}.primary-nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.primary-nav .nav-cta{margin-top:10px;text-align:center}}
.notice:empty{display:none}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset legend{font-family:var(--display);font-size:20px;color:var(--white);margin-bottom:12px;padding:0}
form .field+.field{margin-top:16px}
.field small,.field .hint{color:var(--muted);font-size:14px}

/* Project photos: album hub, album pages, lightbox, Meet Jose portrait, crew strip. */
.services-card[id]{scroll-margin-top:96px}
.album-grid{margin-top:8px}
.album-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-decoration:none;color:var(--white);border:1px solid rgba(233,176,74,.32);border-radius:12px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 28px rgba(5,14,30,.35);transition:border-color .2s,transform .15s}
.album-card:hover{color:var(--white);border-color:var(--gold-text);transform:translateY(-2px)}
.album-cover{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,rgba(46,96,160,.55) 0%,rgba(15,43,79,0) 70%),linear-gradient(180deg,var(--navy-2),var(--deep));border-bottom:1px solid rgba(233,176,74,.32)}
.album-cover:not(.has-cover)::before{content:"";position:absolute;inset:12px;border:1px solid rgba(233,176,74,.5);border-radius:3px}
.album-cover:not(.has-cover)::after{content:"";position:absolute;left:50%;bottom:22px;width:10px;height:10px;margin-left:-5px;background:var(--gold);transform:rotate(45deg)}
.album-cover-mark{position:relative;display:block;width:42%;height:8px;border-radius:4px 2px 3px 5px;background:linear-gradient(180deg,#F7D082,#E9B04A 55%,#C98E2C);opacity:.9}
.album-cover-img{width:100%;height:100%;object-fit:cover}
.album-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}
.album-card-body h3{margin:0}
.album-card-body p{color:var(--soft)}
.album-card-more{margin-top:auto;padding-top:6px;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-text)}
.album-links{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:18px}
.album-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-text);font-weight:600}
.album-empty .btn,.album-cta .btn{margin-top:22px}
.album-section-help{margin-bottom:18px}
.gallery[hidden],.photo-grid[hidden],.album-empty[hidden],.album-cta[hidden],.crew-section[hidden],.jose-portrait[hidden],.gallery-teaser[hidden]{display:none}
.album-photos-heading{margin-top:40px}
.photo-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.photo-tile{min-width:0}
.photo-open{display:block;width:100%;padding:0;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(233,176,74,.32);border-radius:10px;background:var(--ink);cursor:zoom-in}
.photo-open img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.photo-open:hover img{transform:scale(1.03)}
.photo-tile figcaption{margin-top:10px;font-size:15px;color:var(--soft)}
.teaser-link{margin-top:6px}
html.lightbox-open{overflow:hidden}
.lightbox{width:min(96vw,1100px);max-width:none;max-height:96vh;margin:auto;padding:16px;border:1px solid rgba(233,176,74,.55);border-radius:12px;background:var(--ink);color:var(--white)}
.lightbox::backdrop{background:rgba(2,8,18,.88)}
.lightbox-close{display:block;margin-left:auto;min-height:44px;padding:8px 16px;color:var(--white);background:transparent;border:1px solid rgba(233,176,74,.55);border-radius:8px;font:600 16px var(--display);letter-spacing:.08em;text-transform:uppercase}
.lightbox-figure{margin-top:12px}
.lightbox-figure img{width:auto;max-width:100%;max-height:calc(96vh - 190px);margin:0 auto;object-fit:contain}
.lightbox-figure figcaption{margin-top:12px;text-align:center;color:var(--soft)}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
.lightbox-controls[hidden]{display:none}
.lightbox-nav{min-height:44px;padding:8px 18px;color:var(--ink);background:linear-gradient(180deg,var(--gold-2),var(--gold));border:0;border-radius:8px;font:700 16px var(--display);letter-spacing:.06em;text-transform:uppercase}
.lightbox-count{color:var(--muted);font-size:14px}
.meet-jose.has-portrait{display:grid;gap:28px;align-items:start}
.jose-portrait{margin:0}
.jose-portrait-img{width:100%;max-width:320px;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(233,176,74,.55);border-radius:12px}
.crew-strip{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
@media (min-width:720px){
  .meet-jose.has-portrait{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
  .meet-jose.has-portrait .meet-jose-text h2{margin-top:0}
}
@media (prefers-reduced-motion:reduce){.album-card,.photo-open img{transition:none}.album-card:hover{transform:none}.photo-open:hover img{transform:none}}

/* Roller slider handle for photo comparisons. */
.comparison-handle{position:absolute;top:50%;left:var(--split);z-index:2;width:34px;transform:translate(-26.67%,-25%);filter:drop-shadow(0 3px 4px rgba(0,0,0,.45));pointer-events:none}
.comparison-handle svg{display:block;width:100%;height:auto}
.comparison:has(input[type="range"]:focus-visible) .comparison-handle{outline:3px solid var(--gold-2);outline-offset:3px;border-radius:8px}

/* Home header: the script hides the nav on narrow screens; make [hidden] win over display:flex */
.site-nav[hidden],.menu-toggle[hidden]{display:none !important}
@media (max-width:999px){.home-navigation .site-nav:not([hidden]){display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 10px}.home-navigation .site-nav:not([hidden]) a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.home-navigation .site-nav:not([hidden]) .btn{margin-top:10px;text-align:center;border-bottom:0}}

/* Painting Tips section (hub + articles) */
.draft-note{display:inline-block;margin:0 0 12px;padding:4px 10px;border:1px dashed rgba(233,176,74,.65);border-radius:6px;font-size:13px;line-height:1.4;color:var(--gold-text);background:rgba(233,176,74,.08)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;padding:0;margin:0 0 14px;font-size:14px;color:var(--muted)}
.breadcrumb li{min-width:0;overflow-wrap:anywhere}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--muted)}
.breadcrumb a{color:var(--soft)}
.breadcrumb [aria-current]{color:var(--muted)}
.tip-article h1{font-size:clamp(30px,4.4vw,54px);line-height:1.04;overflow-wrap:break-word;max-width:960px}
.article-head{padding-bottom:12px}
.article-meta{font-size:14px;color:var(--muted)}
.article-wrap{padding-bottom:clamp(36px,6vw,72px)}
.article-body{max-width:800px}
.article-body>p:first-child{font-size:clamp(17px,1.6vw,19px);color:var(--white)}
.article-body h2{font-size:clamp(26px,3.2vw,34px);margin:42px 0 12px;color:var(--white)}
.article-body h3{font-size:clamp(20px,2.2vw,24px);margin:26px 0 8px}
.article-body p+p{margin-top:14px}
.article-body ol,.article-body ul{padding-left:24px;margin:14px 0;color:var(--soft)}
.article-body li+li{margin-top:8px}
.article-body li::marker{color:var(--gold-text)}
.article-body a,.related a,.author-box a,.tip-cards p a{color:var(--gold-text)}
.article-body .faq h3{color:var(--gold-text)}
.author-box{max-width:800px;margin-top:40px;padding:20px 22px;border:1px solid rgba(233,176,74,.28);border-left:4px solid var(--gold);border-radius:12px;background:rgba(255,255,255,.03);color:var(--soft)}
.author-box p+p{margin-top:8px}
.author-box strong{color:var(--white)}
.related{max-width:800px;margin-top:28px}
.related h2{font-size:clamp(24px,3vw,30px);margin-bottom:10px}
.related ul{padding-left:22px;color:var(--soft)}
.related li+li{margin-top:8px}
.related p{margin-top:14px;color:var(--soft)}
.tip-cards{margin:0}
.tip-card{display:flex;flex-direction:column;gap:10px}
.tip-card h2{font-size:clamp(22px,2.4vw,26px);margin:0;line-height:1.12}
.tip-card h2 a{color:var(--white);text-decoration:none}
.tip-card h2 a:hover{color:var(--gold-text);text-decoration:underline}
.tip-card p{margin:0;color:var(--soft)}
.tip-card .tip-read{margin-top:auto;font-size:14px;color:var(--muted)}

/* Tips: article images and callouts (10/8) */
.article-figure{max-width:800px;margin:36px 0}
.article-figure img{display:block;width:100%;height:auto;aspect-ratio:1200/686;object-fit:cover;border:1px solid rgba(233,176,74,.5);border-radius:12px;background:var(--ink);box-shadow:0 14px 34px rgba(0,0,0,.38)}
.article-figure figcaption{margin-top:10px;padding-left:12px;border-left:2px solid rgba(233,176,74,.55);font-size:14px;line-height:1.45;color:var(--muted)}
.callout{max-width:800px;margin:28px 0;padding:18px 22px 20px;border-radius:12px}
.article-body .callout p{color:var(--soft)}
.article-body .callout p+p{margin-top:10px}
.article-body .callout .callout-label+p{margin-top:0}
.callout-label{margin:0 0 6px;font-family:var(--display);font-weight:700;font-size:15px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
.callout-tip{border:1px solid rgba(233,176,74,.26);border-left:4px solid var(--gold);background:rgba(233,176,74,.07)}
.callout-tip .callout-label{color:var(--gold-text)}
.callout-mistake{border:1px solid rgba(222,130,92,.34);border-left:4px solid #D9805A;background:rgba(200,100,62,.10)}
.callout-mistake .callout-label{color:#FFE2D4}
.callout-answer{border:1px solid rgba(233,176,74,.42);background:linear-gradient(180deg,var(--navy-2),var(--navy));box-shadow:0 10px 28px rgba(0,0,0,.28)}
.callout-answer .callout-label{color:var(--gold-text)}
.article-body .callout-answer p{font-size:clamp(17px,1.6vw,19px);color:var(--white)}
.article-body .callout-answer .callout-label{font-size:15px;color:var(--gold-text)}
.tip-card{overflow:hidden}
.tip-card .tip-cover{display:block;margin:-24px -24px 6px;border-bottom:1px solid rgba(233,176,74,.32)}
.tip-card .tip-cover img{display:block;width:100%;height:auto;aspect-ratio:600/343;object-fit:cover}
@media (max-width:640px){.callout{padding:16px 16px 18px}.article-figure{margin:28px 0}}
.warranty-note{display:flex;align-items:center;gap:14px;max-width:760px;margin-top:18px;padding:14px 18px;border:1px solid rgba(233,176,74,.32);border-left:4px solid var(--gold);border-radius:12px;background:rgba(233,176,74,.07);color:var(--white)}
.section p.warranty-note{color:var(--white)}
.warranty-badge{flex:none;font-family:var(--display);font-weight:700;font-size:28px;line-height:1;color:var(--gold-text)}

/* ===== PW Visual Standard components (10/8).  One small kit reused across PW client sites:
   icon badge, feature card, trust line, CTA panel, photo slot, split, filter chips, service strip,
   landmark figures, area map, contact cards, stat strip, mobile CTA bar.  Pages opt in with body.pw-std. ===== */
.pw-std .section p{max-width:68ch}
.pw-std .section .card p,.pw-std .section .cta-panel p{max-width:68ch}
.wrap.grid{padding-inline:var(--gutter)}
.ic{display:block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:14px;border-radius:12px;color:var(--gold-text);background:rgba(233,176,74,.12);border:1px solid rgba(233,176,74,.38)}
.icon-badge .ic{width:26px;height:26px}
.section-icon{margin-bottom:12px}

/* Feature cards */
.feature-card{white-space:normal;color:var(--soft)}
.feature-card strong{display:block;margin-bottom:6px;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.01em;line-height:1.15;color:var(--white)}

/* Process steps: icon beside the number */
.steps li{position:relative}
.step-ic{position:absolute;top:24px;right:24px;color:var(--gold-text);opacity:.9}
.step-ic .ic{width:30px;height:30px}

/* Service tiles (home) */
.svc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin-top:24px;max-width:900px}
.svc-tiles a{display:flex;align-items:center;gap:12px;min-height:60px;height:100%;padding:12px 14px;border:1px solid rgba(233,176,74,.3);border-radius:12px;background:rgba(255,255,255,.04);text-decoration:none;font-family:var(--display);font-weight:600;font-size:18px;line-height:1.15;color:var(--white);transition:border-color .2s,background .2s}
.svc-tiles a:hover{border-color:var(--gold-text);background:rgba(233,176,74,.1);color:var(--white)}
.svc-tiles .ic{color:var(--gold-text)}
@media (min-width:720px){.svc-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Trust line: one reassurance line beside every main CTA */
.trust-line{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin-top:16px;padding:0;font-size:15px;color:var(--soft)}
.trust-line li{display:inline-flex;align-items:center;gap:7px;white-space:normal}
.trust-line .ic{width:18px;height:18px;color:var(--gold-text)}
.project-cta .trust-line,.trust-line.center{justify-content:center}

/* CTA panel */
.cta-panel{padding:clamp(22px,4vw,36px);border:1px solid rgba(233,176,74,.42);border-radius:14px;background:linear-gradient(180deg,var(--navy-2),var(--navy));box-shadow:0 12px 30px rgba(0,0,0,.28)}
.cta-panel h2{margin-bottom:12px}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}
.cta-actions .btn-gold{width:auto;max-width:none}
.cta-actions .btn-line{flex:none;padding-inline:20px}
.project-cta .cta-panel{text-align:center}
.project-cta .ctas{animation:none}
@media (max-width:719px){.cta-actions .btn{flex:1 1 100%}}

/* Photo slots: filled from /work/photos.json; hidden (no frame at all) until a real photo loads */
.photo-slot{margin:0}
.photo-slot[hidden]{display:none}
.photo-slot img{display:block;width:100%;height:auto;object-fit:cover;border:1px solid rgba(233,176,74,.5);border-radius:12px;background:var(--ink)}
.photo-slot figcaption,.landmark figcaption,.area-map figcaption{margin-top:10px;padding-left:12px;border-left:2px solid rgba(233,176,74,.55);font-size:14px;line-height:1.45;color:var(--muted);white-space:normal}
.landmark figcaption a,.landmark-hero figcaption a{color:var(--soft)}
.photo-hero{width:min(100%,960px);margin:clamp(24px,4vh,40px) auto 0;text-align:left}
.photo-hero img{aspect-ratio:16/9;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.aside-photo img{aspect-ratio:4/5}

/* Split: text beside a visual */
.split{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px}}

/* Gallery filter chips (Our Work) */
.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.filter-chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.04em;color:var(--soft);background:rgba(255,255,255,.03)}
.filter-chips a:hover{border-color:var(--gold-text);color:var(--white)}
.filter-chips a[aria-current="page"]{color:var(--ink);background:var(--gold-2);border-color:var(--gold-2)}
.gallery-head{padding-bottom:20px}
.gallery-section{border-top:0;padding-top:12px}
.album-links{margin-top:6px}

/* Empty state: one calm block */
.empty-card{max-width:760px;padding:clamp(22px,4vw,34px);border:1px solid rgba(233,176,74,.3);border-radius:14px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 28px rgba(5,14,30,.35)}
.empty-card>p:first-of-type{font-size:clamp(18px,1.8vw,20px);color:var(--white)}
.empty-card .cta-actions{margin-top:20px}
.album-empty .btn,.album-cta .btn{margin-top:0}
.empty-links{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:14px}
.empty-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-text);font-weight:600}

/* Service photo strip (filled from real project photos) */
.service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.service-strip[hidden]{display:none}
.service-strip a{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(233,176,74,.32);border-radius:8px;background:var(--ink)}
.service-strip img{width:100%;height:100%;object-fit:cover}
.services-card{display:flex;flex-direction:column}
.services-card .section-link{margin-top:auto;padding-top:14px}

/* Landmark photos (Service Area): real, licensed, credited */
.landmark-hero{margin:28px 0 0}
.landmark-hero img,.landmark img{display:block;width:100%;height:auto;border:1px solid rgba(233,176,74,.5);border-radius:12px;background:var(--ink);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.landmark-hero img{aspect-ratio:2/1;object-fit:cover}
.landmark img{aspect-ratio:3/2;object-fit:cover}
.landmark-hero figcaption{margin-top:10px;padding-left:12px;border-left:2px solid rgba(233,176,74,.55);font-size:14px;line-height:1.45;color:var(--muted);white-space:normal}
.landmark-pair{display:grid;gap:22px;margin-top:36px}
.landmark{margin:0}
@media (min-width:720px){.landmark-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Area map (SVG, informational) */
.area-map{margin:0;padding:14px;border:1px solid rgba(233,176,74,.32);border-radius:14px;background:radial-gradient(90% 80% at 42% 55%,rgba(46,96,160,.35),rgba(6,20,42,.85));}
.area-map svg{display:block;width:100%;height:auto}
.area-map .ring{fill:none;stroke:rgba(233,176,74,.28);stroke-dasharray:4 6}
.area-map .pin{fill:var(--gold-2);stroke:var(--ink);stroke-width:2}
.area-map text{font-family:var(--body);font-size:18px;font-weight:600;fill:var(--soft);paint-order:stroke;stroke:rgba(6,20,42,.9);stroke-width:4px;stroke-linejoin:round}
.area-map .home .pin{fill:var(--gold)}
.area-map .home text{font-size:21px;font-weight:700;fill:var(--gold-2)}
.area-map .halo{fill:rgba(233,176,74,.18)}

/* Two-up icon cards */
.two-up{display:grid;gap:18px}
@media (min-width:720px){.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}}
.two-up .card h2{font-size:clamp(26px,3vw,34px);margin-bottom:10px}

/* Contact cards (estimate page) */
.contact-cards{display:grid;gap:14px;list-style:none;padding:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.contact-cards li{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(233,176,74,.28);border-radius:12px;background:rgba(255,255,255,.035);color:var(--soft);white-space:normal}
.contact-cards .icon-badge{margin:0;width:44px;height:44px}
.contact-cards p{margin:0}
.contact-cards a{color:var(--gold-text);overflow-wrap:anywhere}

/* Stat strip (About) */
.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin-top:24px;max-width:620px}
.stat-strip li{display:flex;flex-direction:column;gap:4px;padding:14px 12px;border:1px solid rgba(233,176,74,.28);border-radius:12px;background:rgba(255,255,255,.035);white-space:normal}
.stat-strip .stat-txt{font-size:13px;line-height:1.3;color:var(--muted)}
.stat-strip .stat-big{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,36px);line-height:1;color:var(--gold-text)}
@media (min-width:720px){.meet-jose.has-portrait.looks-left{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.meet-jose.has-portrait.looks-left .jose-portrait{order:2}}

/* Estimate layout: form plus trust aside */
.estimate-layout{display:grid;gap:24px;margin-top:22px}
.estimate-aside{display:grid;gap:18px;align-content:start}
.trust-list{display:grid;gap:12px;list-style:none;padding:20px;border:1px solid rgba(233,176,74,.32);border-radius:14px;background:linear-gradient(180deg,var(--navy-2),var(--navy))}
.trust-list li{display:flex;align-items:center;gap:12px;color:var(--white);font-weight:600;white-space:normal}
.trust-list .ic{color:var(--gold-text)}
.form-trust{margin-top:14px}
#estimate-form .btn-gold{margin-top:22px}
@media (min-width:900px){
  .estimate-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start}
  .estimate-aside{position:sticky;top:96px}
  .estimate-layout.has-photo.looks-right{grid-template-columns:minmax(260px,1fr) minmax(0,1.7fr)}
  .estimate-layout.has-photo.looks-right .estimate-aside{order:-1}
}

/* Album cover placeholder: service icon, compact (no tall empty frame) */
.album-cover:not(.has-cover){aspect-ratio:5/2;flex-direction:column;gap:12px}
.album-cover-icon{color:var(--gold-text)}
.album-cover-icon .ic{width:40px;height:40px}

/* Mobile CTA bar: primary action in thumb reach */
.mobile-cta{display:none}
@media (max-width:860px){
  .mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(6,20,42,.96);border-top:1px solid rgba(233,176,74,.35);box-shadow:0 -8px 24px rgba(0,0,0,.35);transition:transform .25s ease}
  .mobile-cta .btn{min-height:50px;font-size:18px}
  .mobile-cta .btn-gold{flex:1;width:auto;max-width:none}
  .mobile-cta .btn-line{flex:none;padding-inline:18px}
  .mobile-cta.is-away{transform:translateY(115%)}
  body.has-mobile-cta{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.mobile-cta,.svc-tiles a{transition:none}}
#contact-requirement{margin:8px 0 18px;font-size:14px;color:var(--muted)}

/* ===== Home redesign (10/9): full-width section bands, hero photo beside the headline, service photo tiles.
   Bands alternate navy / cream / white so sections read separately.  Light-band text colors pass WCAG AA:
   navy #0F2B4F (12.6:1 on cream), slate #33445C (8.8:1), dark gold #7A520C (6.1:1), gray #4A5A70 (6.2:1). ===== */
:root{--cream:#F7F1E6;--slate:#33445C;--gold-ink:#7A520C;--gray-ink:#4A5A70}
.band{position:relative;z-index:1}
.home-page .band.section{border-top:0;padding-block:clamp(48px,7vw,88px)}
.band-navy{background:transparent}
.band-navy.section{background:linear-gradient(180deg,rgba(18,52,98,.55),rgba(8,26,49,.35))}
.band-cream{background:var(--cream);color:var(--navy)}
.band-white{background:var(--surface-white);color:var(--navy)}
:is(.band-cream,.band-white) :is(h1,h2,h3,h4,strong){color:var(--navy)}
:is(.band-cream,.band-white) :is(p,li,figcaption){color:var(--slate)}
:is(.band-cream,.band-white) .section-link{color:var(--gold-ink);text-decoration:underline;text-decoration-color:rgba(122,82,12,.45)}
:is(.band-cream,.band-white) .section-link:hover{color:var(--navy)}
:is(.band-cream,.band-white) .card{background:var(--surface-white);border:1px solid rgba(15,43,79,.12);box-shadow:0 8px 22px rgba(15,43,79,.08)}
:is(.band-cream,.band-white) .feature-card{color:var(--slate)}
:is(.band-cream,.band-white) .feature-card strong{color:var(--navy)}
:is(.band-cream,.band-white) .icon-badge{color:var(--gold-ink);background:rgba(233,176,74,.16);border-color:rgba(201,142,44,.5)}
:is(.band-cream,.band-white) .steps li{background:var(--surface-white);border-top-color:var(--gold-text);box-shadow:0 8px 22px rgba(15,43,79,.07);border-radius:0 0 10px 10px}
:is(.band-cream,.band-white) .steps li::before{color:var(--gray-ink)}
:is(.band-cream,.band-white) .steps h3,:is(.band-cream,.band-white) .step-ic{color:var(--gold-ink)}
:is(.band-cream,.band-white) a:focus-visible{outline-color:var(--gold-ink)}

/* Full-width bands inside the curated content column. Explicit classes select content, not position. */
.v2-content .band,.jose-about.band{position:relative;padding-block:48px}
.v2-content .band{margin:0}
.v2-content .band-cream,.jose-about.band-cream{box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax)}
.v2-content .band-white{box-shadow:0 0 0 100vmax var(--surface-white);clip-path:inset(0 -100vmax)}
:is(.band-cream,.band-white) a:not(.btn){color:var(--gold-ink)}
:is(.band-cream,.band-white) a:not(.btn):hover{color:var(--navy)}
:is(.band-cream,.band-white,.surface-light) .btn-gold{border:2px solid var(--navy);color:var(--ink)}
:is(.band-cream,.band-white) .btn-line{color:var(--navy);border-color:var(--navy)}
:is(.band-cream,.band-white) :is(a,button):focus-visible{outline-color:var(--gold-ink)}
.band-cream .stat-strip .stat-txt{color:var(--slate)}
.band-cream .stat-strip .stat-big{color:var(--navy)}
.v2-content .v2-doors>section{margin:0;padding:22px;border:1px solid rgba(28,50,83,.3);border-radius:12px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 28px rgba(5,14,30,.15)}
/* Hero: headline beside a large photo of finished work (stacked on phones: words and buttons first, then the photo) */
.hero-band .hero{padding-bottom:clamp(36px,6vh,64px)}
.hero-photo{width:100%;margin:clamp(28px,5vw,40px) 0 0}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.4)}
@media (min-width:1000px){
  .hero-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:"copy photo" "values values" "chips chips";column-gap:clamp(32px,4vw,56px);align-items:center}
  .hero-copy{grid-area:copy;min-width:0}
  .hero-split .hero-photo{grid-area:photo;margin:0}
  .hero-split .values{grid-area:values}
  .hero-split .services{grid-area:chips}
  .hero-split .frame{width:min(100%,440px)}
  .hero-split h1{font-size:clamp(40px,4.1vw,54px)}
  .hero-split .lead{max-width:480px}
}

/* Service photo tiles (home): the Tips card component with a photo on top, name, one line, link to /services/#name */
.svc-photo-grid{display:grid;grid-template-columns:1fr;gap:20px;list-style:none;margin-top:28px;padding:0}
.svc-photo{white-space:normal;transition:transform .2s,box-shadow .2s}
.svc-photo:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,43,79,.16)}
.svc-photo .tip-cover{border-bottom:3px solid var(--gold)}
.svc-photo .tip-cover img{transition:transform .35s}
.svc-photo:hover .tip-cover img{transform:scale(1.03)}
.svc-photo h3{margin:0;font-size:clamp(23px,2.3vw,26px);line-height:1.12}
.svc-photo h3 a{color:var(--navy);text-decoration:none}
.svc-photo h3 a::after{content:" \203A";color:var(--gold-ink)}
.svc-photo h3 a:hover{color:var(--gold-ink);text-decoration:underline}
.band-white .svc-photo p{margin:0;color:var(--slate)}
@media (min-width:720px){.svc-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.svc-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.svc-photo,.svc-photo .tip-cover img{transition:none}.svc-photo:hover,.svc-photo:hover .tip-cover img{transform:none}}

/* Jose's real job photos: simple labeled pairs work without JavaScript. */
#our-work{scroll-margin-top:24px}
.job-grid{display:grid;gap:28px;margin:28px 0;align-items:stretch}
.job-pair{min-width:0;padding:16px;border:1px solid rgba(233,176,74,.35);border-radius:8px;background:var(--ink)}
.job-pair h3{margin:0 0 14px;font-size:24px;color:var(--gold-text)}
.job-two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.job-pair figure,.more-work figure{margin:0;min-width:0}
.job-pair img,.more-work img{display:block;width:100%;height:auto}
.job-pair figcaption,.more-work figcaption{padding:8px 0;font-size:16px;color:#fff}
.deck-labels{display:grid;grid-template-columns:1fr 1fr;padding-bottom:8px;font-weight:700}
.more-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.more-work-heading{color:var(--gold-text)}
.commercial-panel{aspect-ratio:600/343;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--navy);color:var(--gold-text);font-weight:700;font-size:26px}
.commercial-panel .ic{width:64px;height:64px}
@media(min-width:720px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-work{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Consistent comparison frames; grid items stretch to the same row height. */
.job-two-up img{aspect-ratio:4/3;object-fit:cover;object-position:center;height:auto}
.job-two-up img[src*="jose-23-"],.job-two-up img[src*="jose-29-"]{object-position:center 60%}
/* Staged site-wide Jose photo galleries. Preserve full photos in category grids. */
.audit-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;margin:24px 0;align-items:start}
.audit-photo-grid figure,.job-pair figure,.audit-photo-band{margin-block:18px}
.audit-photo-grid figure{margin:0;min-width:0}
.audit-photo-grid img,.audit-photo-band img,.jose-work-placeholder img{display:block;width:100%;height:auto;border-radius:8px}
.audit-photo-grid figcaption,.job-pair figcaption{font-size:.9rem;margin-top:8px}
.audit-photo-band img{max-height:360px;object-fit:cover}
.jose-work-placeholder{margin:0;min-width:0}
.site-header .hdr{position:relative}
.home-page .site-header .primary-nav{display:flex}
@media(max-width:1100px){.home-page .site-header .primary-nav{display:none}.home-page .site-header .primary-nav.open{display:flex}}

/* Curated v2 page flow */
.v2-content{padding-top:48px;padding-bottom:64px}.v2-content section{margin:48px 0}.v2-content figure{margin:0}.v2-content img{width:100%;height:auto;display:block;border-radius:8px}.v2-content figcaption{font-size:.95rem;padding:12px 0}.v2-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.v2-job{margin:36px 0}.v2-gallery [hidden]{display:none!important}.filter-chips button{padding:10px 18px;border:1px solid #9ca8b5;border-radius:24px;cursor:pointer;background:white;color:#0f2b4f}.filter-chips button[aria-pressed=true]{background:#0f2b4f;color:white}.v2-content>section>figure{max-width:640px}.v2-closing{margin-top:40px}@media(max-width:700px){.v2-hero,.v2-grid{grid-template-columns:1fr}.v2-content{padding-top:28px}.job-two-up{grid-template-columns:1fr}}
/* Supplied low-resolution photographs stay at card size. */
.v2-content .v2-found-photo{width:100%;max-width:470px;margin:24px 0}.v2-content .v2-found-photo img{width:100%;max-width:470px;height:auto}.v2-portrait{max-width:470px;margin:0 0 24px}.v2-portrait img{display:block;width:100%;max-width:470px;height:auto;border-radius:8px}.placeholder-note{display:block;margin-top:10px;padding:12px;background:#fff1cb;color:#0f2b4f;border-left:4px solid #b47a1e;font-size:1rem;line-height:1.5;font-weight:600}.v2-content .v2-owner-portrait{max-width:470px}.v2-content .v2-owner-portrait img{width:96px;height:96px;border-radius:50%;object-fit:cover}.v2-gallery>div[data-found]{display:inline-block;vertical-align:top;width:calc(50% - 20px);margin-right:20px}.v2-gallery>div[data-found][hidden]{display:none!important}@media(max-width:700px){.v2-gallery>div[data-found]{width:100%;margin-right:0}}
/* Consistent Services examples: 470px tiles, 4:3 cover crops. */
.v2-content .v2-service-photo{width:100%;max-width:470px;margin:24px 0}.v2-content .v2-service-photo img{display:block;width:100%;max-width:470px;height:auto;aspect-ratio:4 / 3;object-fit:cover}.v2-content .v2-service-photo img.v2-ceiling-crop{object-position:50% 25%}

/* 2026-10-13 lead: second headline line in gold, matching the ollerpainting.com placeholder */
h1 .h1-l1,h1 .h1-l2{display:block}
h1 .h1-l2{color:var(--gold-2,#F2C14E)}

/* PW Part A: informational breaks and comfortable reading on phones. */
.tip-article .article-body,.tip-article .article-body p,.tip-article .article-body li,.prose,.prose p{max-width:68ch}
.tips-back{margin-bottom:24px;color:var(--gold-text)}
.guidance-card,.faq-card{margin:20px 0;padding:18px 20px;background:#173654;border-left:4px solid var(--gold);border-radius:6px}
.article-body .guidance-card p,.article-body .faq-card p{margin:0}
.article-body .faq-card h3{margin:0 0 12px}
.article-body .step-cards,.article-body .checklist{list-style:none;padding:0;counter-reset:step;display:grid;gap:12px}
.article-body .step-cards li,.article-body .checklist li{position:relative;margin:0;padding:16px 16px 16px 52px;border:1px solid #60758b;border-radius:6px;background:#142e49}
.step-cards li::before{counter-increment:step;content:counter(step);position:absolute;left:16px;top:16px;color:var(--gold-text);font-weight:700}
.checklist li::before{content:'✓';position:absolute;left:16px;top:16px;color:var(--gold-text);font-weight:700}
.sheen-comparison{margin:28px 0}.sheen-comparison table{border-collapse:collapse;width:100%;font-size:16px}.sheen-comparison th,.sheen-comparison td{padding:12px 8px;border:1px solid #60758b;text-align:left}.sheen-comparison th{background:#173654}.sheen-comparison caption{text-align:left;margin-bottom:12px}
.cta-block{margin-bottom:48px!important}
.related{margin-top:48px!important;padding-top:28px;border-top:1px solid #60758b}
.v2-closing{max-width:68ch;margin-left:auto;margin-right:auto;padding:0 18px}
main> :last-child{margin-bottom:48px}
.tip-card{border-top:4px solid var(--gold)}

/* Center the gallery invitation within its navy closing band. */
.v2-content .work-closing{margin:0 auto;padding:48px 18px;text-align:center;justify-content:center}
.work-closing h2{flex-basis:100%;margin:0}
.work-closing p{margin:0}

/* Sitewide Option C: shared light surfaces, reading bands and editorial Tips grid. */
.sitewide-band{padding-top:48px;padding-bottom:48px}
main.wrap .sitewide-band,.city-page .sitewide-band{box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax)}
main.wrap .band-white.sitewide-band{box-shadow:0 0 0 100vmax var(--surface-white)}
:is(.band-white,.band-cream) :is(p,li,figcaption,td,th,label,legend,summary,small,span){color:var(--slate)}
:is(.band-white,.band-cream) :is(h1,h2,h3,h4,strong){color:var(--navy)}
:is(.band-white,.band-cream) :is(.callout,.guidance-card,.step-cards li,.checklist li,.sheen-comparison,.faq,details){background:var(--surface-white);color:var(--slate);border-color:#ccd3dc}
:is(.band-white,.band-cream) :is(.callout-label,.tip-read){color:var(--slate)}
.band-cream .tip-card{background:var(--surface-white)}
.band-cream .tip-card h2 a{color:var(--navy)}
.tip-cards .tip-featured{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr;column-gap:28px;align-items:start}
.tip-cards .tip-featured .tip-card-thumb{grid-row:span 3;height:100%;margin:0}
.tip-cards .tip-featured img{height:100%;object-fit:cover}
.article-wrap.sitewide-band{max-width:none;width:100%;padding:48px 18px}
.article-wrap.sitewide-band .article-body{max-width:760px;margin:auto}
.tip-article>.tips-cta,.tip-article>.tips-related{max-width:760px;margin:40px auto;padding:0 18px}
.band-white :is(.tip-figure,.article-figure,figure){background:transparent}
.band-white figcaption{color:var(--slate)}
.bk.sitewide-band{padding:28px;border-radius:14px;margin:28px 0}
.band-cream .bk-card{background:var(--surface-white);color:var(--slate)}
.band-cream :is(.bk-lead,.bk-note,.bk-link,.bk-back){color:var(--slate)}
.band-cream .bk-kind label{background:var(--surface-white);color:var(--navy)}
.band-cream .bk-kind label:has(input:checked){background:var(--cream);color:var(--navy)}
@media(max-width:700px){.tip-cards .tip-featured{grid-column:auto;display:block}.tip-cards .tip-featured .tip-card-thumb{height:auto;margin-bottom:18px}.tip-cards .tip-featured img{height:auto}.sitewide-band{padding-top:32px;padding-bottom:32px}.bk.sitewide-band{padding:18px}}
/* Explicit reading overrides beat the legacy navy article selectors. */
.band-white .article-body :is(p,li,figcaption,caption,td,th),.band-white .article-body .callout :is(p,.callout-label){color:var(--slate)}
.band-white .article-body :is(h2,h3),.band-white .article-body .faq h3{color:var(--navy)}
.band-white .article-body :is(.faq-card,.step-cards li,.checklist li,th){background:var(--surface-white)}
.band-white .article-body :is(.step-cards li,.checklist li)::before,.band-white .article-body li::marker{color:var(--gold-ink)}
.band-white .article-body a:not(.btn){color:var(--gold-ink)}
.band-cream .tip-card :is(p,.tip-read){color:var(--slate)}
.band-cream .bk-card :is(h2,h3),.band-cream .bk-kind legend{color:var(--navy)}
.band-cream .bk-steps li,.band-cream .bk-steps li.is-on{color:var(--slate)}
.band-cream .bk-steps li::before{background:#ccd3dc}
.band-cream :is(.bk-day,.bk-time){background:var(--surface-white);color:var(--navy);border-color:var(--navy)}
.band-cream .bk-day :is(.bk-date,.bk-count){color:var(--slate)}
.band-cream :is(.bk-day.is-on,.bk-time.is-on){background:var(--cream)}
.band-cream .bk-day-title{color:var(--navy)}
.landmark-pair.sitewide-band{padding:48px 0}
.band-cream .field :is(input,textarea,select),.band-cream .bk-photos input[type=file]{background:var(--surface-white);color:var(--slate);border-color:#60758b}
.band-cream .field :is(input,textarea)::placeholder{color:var(--slate);opacity:1}
.band-cream :is(.bk-big,.bk-call,.bk-list,.bk-sum-when strong,.bk-sum-when li){color:var(--slate)}
.band-cream :is(.bk-call a,.bk-sum-when span){color:var(--gold-ink)}
.band-white .article-body>p:first-child{color:var(--slate)}
.band-cream .bk-x{color:var(--navy);background:var(--cream)}
.band-cream .bk-thumbs .bk-x{color:var(--on-dark);background:var(--ink)}
.band-cream :is(.bk-day,.bk-time,.bk-x):focus-visible{outline-color:var(--navy)}
.band-cream .area-map{background:var(--surface-white);border-color:#ccd3dc}
.band-cream .area-map text{fill:var(--navy);stroke:var(--surface-white)}
.band-cream .area-map .home text{fill:var(--gold-ink)}
.band-cream .area-map .ring{stroke:var(--gold-ink)}
.band-cream .bk .notice,.band-cream .bk-picked li{color:var(--slate)}
.band-cream #bk-summary :is(dt,dd){color:var(--slate)}

/* Text variables inherit through every light-band descendant, including future booking UI.
   Surface white is separate: changing text tokens must never darken white cards. */
.band-cream,.band-white{
  --white:#33445C;--soft:#33445C;--muted:#33445C;--gold-text:#7A520C;
  --heading-color:#1C3253;
  color:var(--slate);
}
:is(.band-cream,.band-white) :is(.bk-card,.bk-kind label,.bk-day,.bk-time,.field input,.field textarea,.field select){background:var(--surface-white);color:var(--slate)}
:is(.band-cream,.band-white) .bk-kind label:has(input:checked),:is(.band-cream,.band-white) :is(.bk-day.is-on,.bk-time.is-on){background:var(--cream)}
:is(.band-cream,.band-white) .bk-photos input[type=file]{background:var(--surface-white);color:var(--slate)}
:is(.band-cream,.band-white) .bk-x{background:var(--cream);color:var(--navy)}
:is(.band-cream,.band-white) .bk-thumbs .bk-x{background:var(--ink);color:var(--on-dark)}
:is(.band-cream,.band-white) .bk-card :is(h2,h3){color:var(--heading-color)}
:is(.band-cream,.band-white) :is(.bk-link,.bk-back){color:var(--gold-ink)}
:is(.band-cream,.band-white) #bk-summary :is(dt,dd){color:var(--slate)}

/* Inspector layout corrections: isolate local cream cards from neighboring content. */
.estimate-layout{position:relative;isolation:isolate}
.estimate-layout>.estimate-job{position:relative;z-index:2}
.estimate-layout>.bk.sitewide-band{position:relative;z-index:1;box-shadow:none;clip-path:none;margin:0}
.booking-intro{margin:0 0 20px}
.city-estimate-band{position:relative;z-index:2;isolation:isolate;display:grid;place-items:center;padding:32px 18px;background:var(--navy)}
.city-estimate-band>.city-estimate{position:relative;width:min(100%,760px);margin:0 auto;text-align:center;color:var(--slate)}
.city-photo-grid:has(>figure:only-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.city-photo-grid>figure:only-child{width:100%;max-width:none;justify-self:start}
/* Seven guides: explicit columns and one full-width feature; no implicit half-row spans. */
.grid.tip-cards{grid-template-columns:minmax(0,1fr)}
.grid.tip-cards>.tip-card{grid-column:auto;min-width:0}
.grid.tip-cards>.tip-card.tip-featured{grid-column:1 / -1;width:100%;max-width:none}
@media(min-width:701px){.grid.tip-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.grid.tip-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* One shared closing component. No trailing main/section margins or CTA-block spacer. */
.site-finish .shared-closing,.v2-content .shared-closing{display:block;position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:48px 0;text-align:center;justify-content:center;background:transparent;color:var(--on-dark)}
.shared-closing .closing-inner{width:calc(100% - 36px);max-width:1040px;margin:0 auto;padding:0}
.shared-closing .closing-heading{margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15;color:var(--on-dark)}
.shared-closing .closing-lead{max-width:none;margin:12px 0 0;color:var(--soft)}
.shared-closing .closing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:24px 0 0;padding:0}
.shared-closing .closing-actions .btn{margin:0}
.v2-content:has(>.shared-closing),.city-page:has(>.shared-closing){padding-bottom:0}
.city-tip-links{width:calc(100% - 36px);max-width:760px;margin:0 auto;padding:0}
.tip-article>.tips-related{width:calc(100% - 36px);max-width:760px;padding:0}
@media(max-width:700px){.site-finish .shared-closing,.v2-content .shared-closing{padding-block:36px}}

/* Join every shared closing directly to its footer, including legacy Home overrides. */
body.has-shared-closing .site-footer{margin-top:0}
body.has-shared-closing>main{flex:0 0 auto;margin-bottom:0;padding-bottom:0}
body.has-shared-closing main>.v2-content{margin-bottom:0;padding-bottom:0}

/* Inspector pass 2: adjacent full-width surfaces and balanced desktop columns. */
.estimate-page>[aria-labelledby="page-title"]{padding-bottom:24px;border-bottom:0}
.estimate-page>[aria-labelledby="book-title"]{border-top:0;margin:0}
.estimate-support{position:relative;z-index:2;min-width:0}
.estimate-support .estimate-job{margin:0}
.estimate-support .estimate-aside{margin:24px 0 0}
.band-cream .trust-list,.band-white .contact-cards>li{background:var(--surface-white);color:var(--slate);border-color:#ccd3dc}
:is(.band-cream,.band-white) .icon-badge{background:var(--cream);color:var(--navy)}
main.wrap .landmark-pair.sitewide-band{margin-top:0;margin-bottom:0}
.home-page .band-white .job-two-up{margin-top:24px}
.city-observations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.city-observation{min-width:0}.city-observation h3{margin-top:0}.city-observation p{max-width:none}
.v2-content .v2-gallery>.sitewide-band{margin:0;padding-block:48px}
main.wrap .v2-gallery>.band-white{box-shadow:0 0 0 100vmax var(--surface-white)}
main.wrap .v2-gallery>.band-cream{box-shadow:0 0 0 100vmax var(--cream)}
.helpful-links{width:100%;margin:0;background:var(--cream)}
@media(max-width:700px){.city-observations,.city-photo-grid:has(>figure:only-child){grid-template-columns:minmax(0,1fr)}.v2-content .v2-gallery>.sitewide-band{padding-block:32px}}

/* Jose review: restrained lacquer on dark surfaces; light bands keep their palette. */
body{background:var(--navy-lacquer)}
main :is(.article-head,.city-estimate-band),.band-navy.section{background:var(--navy-lacquer)}
main :is(.card,.album-card,.empty-card,.cta-panel,.values li){background:var(--navy-lacquer);box-shadow:inset 0 1px 0 var(--gloss-inset),0 12px 28px rgba(5,14,30,.35)}
:is(.band-cream,.band-white) :is(.card,.album-card,.empty-card,.cta-panel){background:var(--surface-white);box-shadow:0 8px 22px rgba(15,43,79,.08)}
.site-header .site-logo{display:flex;align-items:center;width:210px;height:80px;overflow:visible}
.site-header .site-logo img{width:210px;max-width:100%;margin-top:0}
.site-header .wrap.hdr{height:88px;padding-block:4px}
.site-header .primary-nav{flex-wrap:nowrap;gap:6px 14px}
.footer-logo{width:210px}
@media(max-width:860px){.site-header .site-logo{width:184px;height:66px}.site-header .site-logo img{width:184px;margin-top:0}.site-header .wrap.hdr{height:74px;padding-block:4px}.footer-logo{width:184px}}

/* Full-width lacquer surfaces: the Home hero has no inset painted panel. */
.home-page main .v2-hero{background:transparent;box-shadow:none;border:0}
.home-page main .v2-hero::before,.home-page main .v2-hero::after{content:none}
.site-finish .shared-closing::before{content:"";position:absolute;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:var(--navy-lacquer)}
body.has-shared-closing .site-footer{background:var(--navy-lacquer)}
main .project-caption,main .project-caption :is(span,a){font-weight:400;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--soft)}
main :is(.band-white,.band-cream) .project-caption,main :is(.band-white,.band-cream) .project-caption :is(span,a){color:var(--slate)}

/* Footer lacquer needs its own AA text palette, including inline partner/credit colors. */
body.has-shared-closing .site-footer{--footer-text:#FFFFFF;--footer-link:#FFF0D6;--white:var(--footer-text);--soft:var(--footer-text);--muted:var(--footer-text);--gold-text:var(--footer-link)}
body.has-shared-closing .site-footer,body.has-shared-closing .site-footer *{color:var(--footer-text)!important}
body.has-shared-closing .site-footer a,body.has-shared-closing .site-footer a *{color:var(--footer-link)!important}
body.has-shared-closing .site-footer a:hover,body.has-shared-closing .site-footer a:hover *{color:var(--footer-text)!important}
body.has-shared-closing .site-footer .photo-fineprint{opacity:1}

/* The complete project heading, rather than a duplicate chip, carries Jose's gold. */
:root{--project-title-shade:rgba(12,31,61,.55);--project-title-lacquer:linear-gradient(var(--project-title-shade),var(--project-title-shade)),var(--navy-lacquer)}
main .project-title-bar.project-title-bar{display:block;width:100%;max-width:none;margin:0 0 24px;padding:20px 24px;border-radius:12px;background:var(--project-title-lacquer);box-shadow:inset 0 1px 0 var(--gloss-inset);font-size:clamp(24px,2.6vw,32px);line-height:1.25;overflow-wrap:break-word;color:var(--project-label-gold)}
main .project-title-bar.project-title-bar :is(a,span,strong){color:var(--project-label-gold);text-decoration:none}
main .project-title-bar.project-title-bar a:hover{color:var(--project-label-gold);text-decoration:underline}
.v2-content .polish-service>.project-title-bar{grid-column:1 / -1;margin:0}
@media(max-width:700px){main .project-title-bar.project-title-bar{padding:16px 18px}}

/* Approved Option 2: section-sized, full-bleed lacquer without an inset hero panel. */
:root{--readable-lacquer:linear-gradient(rgba(12,31,61,.40),rgba(12,31,61,.40)),var(--navy-lacquer);--small-lacquer:radial-gradient(55% 30% at 30% 4%,rgba(255,255,255,.16),transparent 70%),linear-gradient(112deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 58%),linear-gradient(180deg,#1C3F7A 0%,#16336A 40%,#0F2650 75%,#0C1F3D 100%)}
body::before{opacity:0}
body{background:var(--readable-lacquer)}
main :is(.article-head,.city-estimate-band),.band-navy.section{background:transparent}
main :is(.card,.album-card,.empty-card,.cta-panel,.values li){background:var(--small-lacquer)}
:is(.band-cream,.band-white) :is(.card,.album-card,.empty-card,.cta-panel){background:var(--surface-white)}
.site-finish .shared-closing::before{background:var(--readable-lacquer)}
body.has-shared-closing .site-footer{background:var(--readable-lacquer)}
.home-page main .v2-hero{position:relative;isolation:isolate;margin-top:0}
.home-page main .v2-hero::before{content:"";position:absolute;top:-48px;bottom:-40px;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:var(--navy-lacquer)}
.home-page main .v2-hero .home-hero-logo{display:block;width:420px;max-width:100%;height:auto;margin:0 0 28px;border-radius:0}
@media(max-width:700px){.home-page main .v2-hero::before{top:-28px;bottom:-28px}.home-page main .v2-hero .home-hero-logo{width:min(420px,90%);margin-bottom:24px}}

main .lacquer-section{position:relative;isolation:isolate;background:transparent}
main .lacquer-section::before{content:"";position:absolute;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:var(--readable-lacquer)}
.v2-content>.lacquer-intro{margin:0 0 48px;padding:0}

/* Header artwork has real breathing room inside the unchanged ribbon. */
.site-header .site-logo img{width:190px;max-height:66px;object-fit:contain;margin-inline:auto}
@media(max-width:860px){.site-header .site-logo img{width:160px;max-height:56px}}
/* Consecutive navy sections share one lacquer layer, never repeated top glints. */
main .lacquer-run{position:relative;isolation:isolate;display:flow-root}
main .lacquer-run::before{content:"";position:absolute;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:var(--readable-lacquer)}
.home-page main .lacquer-run:has(.v2-hero)::before{top:-48px;background:var(--navy-lacquer)}
main .lacquer-run>.lacquer-section,main .lacquer-run>.shared-closing,.home-page main .lacquer-run>.v2-hero{isolation:auto}
main .lacquer-run>.lacquer-section::before,main .lacquer-run>.shared-closing::before,.home-page main .lacquer-run>.v2-hero::before{content:none}
:root{--footer-continuation:linear-gradient(180deg,#0C1F3D,#08172E)}
body.has-shared-closing .site-footer{background:var(--footer-continuation)}
@media(max-width:700px){.home-page main .lacquer-run:has(.v2-hero)::before{top:-28px}}
.city-photo-grid:has(>figure:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.city-photo-grid:has(>figure:nth-child(3):last-child){grid-template-columns:minmax(0,1fr)}}
.v2-gallery [data-presentation-pair] img,.city-photo-grid [data-example-project] img{aspect-ratio:2 / 1;object-fit:contain}

/* Unpainted gutters continue the lacquer's deepest stop instead of restarting it. */
body{background:var(--ink)}
.v2-content>.lacquer-run:first-child::before,.v2-content>.lacquer-section:first-child::before,.city-page>.lacquer-intro::before{top:-48px}
@media(max-width:700px){.v2-content>.lacquer-run:first-child::before,.v2-content>.lacquer-section:first-child::before,.city-page>.lacquer-intro::before{top:-28px}}

/* One physical surface, from the closing (or article ending) through all footer lines. */
body.has-shared-closing>.site-finish{display:flow-root;position:relative;isolation:isolate;width:100%;margin:0;padding:0;background:var(--readable-lacquer);flex:0 0 auto}
body.has-shared-closing>.site-finish>.shared-closing{margin:0;isolation:auto}
body.has-shared-closing>.site-finish .site-footer{display:flow-root;margin:0;border:0;background:transparent}
.site-finish .shared-closing::before,.site-finish>.lacquer-section::before{content:none;background:none}
.site-finish>.lacquer-section{isolation:auto;background:transparent}
.site-finish .pw-footer{background:transparent;border-top:0!important}
body.has-shared-closing main>.tip-article{margin-bottom:0;padding-bottom:0}
body.has-shared-closing .tip-article>.article-wrap{margin-bottom:0}
.site-finish>.tips-related{width:calc(100% - 36px);max-width:760px;margin:0 auto;padding:40px 0 0}
.site-finish>.city-tip-links{margin-block:0}

/* Retain the former content-box widths while the ending paint spans the viewport. */
body.has-shared-closing .site-finish :is(.closing-shell,.finish-prelude){margin-block:0;padding-block:0;padding-top:0;padding-bottom:0;background:transparent}
.site-finish .finish-prelude .lacquer-section{isolation:auto;background:transparent}
.site-finish .finish-prelude .lacquer-section::before{content:none;background:none}
.site-finish .finish-prelude :is(.card,.album-card,.empty-card,.cta-panel,.values li){background:var(--small-lacquer);box-shadow:inset 0 1px 0 var(--gloss-inset),0 12px 28px rgba(5,14,30,.35)}
/* The legacy last-child margin must not become a new gap above the shared finish. */
body.has-shared-closing>main>:last-child{margin-bottom:0}

/* Why people paint: shared header width, with alternating project rows. */
@media(min-width:701px){
 .why-paint-page .shared-closing .closing-inner{width:100%;max-width:1180px;padding-inline:var(--gutter)}
 .why-page.wrap{max-width:1180px;width:100%}
 .why-page.v2-content>.band{margin:0}
 .why-page .why-photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}
 .why-page .why-photo-text{min-width:0;grid-column:1;grid-row:1}
 .why-page .why-photo-row>figure{min-width:0;max-width:none;width:100%;grid-column:2;grid-row:1}
 .why-page .why-photo-row[data-photo-side="left"]>figure{grid-column:1}
 .why-page .why-photo-row[data-photo-side="left"]>.why-photo-text{grid-column:2}
 .why-page .why-reading-body{max-width:70ch;margin-inline:auto}
 .why-page>.lead{max-width:70ch;margin-inline:auto}
}
@media(max-width:700px){
 .why-page .why-photo-row{display:flex;flex-direction:column;align-items:stretch}
 .why-page .why-photo-text{display:contents}
 .why-page .why-photo-row>figure{order:1}
 .why-page .why-photo-row .why-after-photo{order:2}
}


/* 10/17 why page: space between intro text and its button */
.why-page .lacquer-intro .lead+p{margin-top:20px}


/* 10/17 services warranty: paragraph gap */
#warranty .polish-service-copy p+p{margin-top:18px}
/* Audit fixes */
main p,main li,main blockquote,main figcaption{max-width:680px}
.filter-chips{scroll-margin-top:100px}
.site-header .hdr{height:80px;box-sizing:border-box}
.primary-nav{flex-wrap:nowrap;min-height:44px}
.primary-nav a{white-space:nowrap}
@media(max-width:1050px){.primary-nav{gap:6px 10px}.primary-nav a{letter-spacing:0}}
@media(max-width:860px){.primary-nav{background:var(--deep);z-index:60}.site-header{background:var(--deep)}}
.home-page main,.home-page .v2-content{min-height:0;padding-bottom:24px}
.v2-closing{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.v2-closing p{flex-basis:100%}
.estimate-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:32px;align-items:start}
.estimate-job{margin:0}.estimate-job img{width:100%;height:auto;display:block}
@media(max-width:700px){.estimate-layout{grid-template-columns:1fr}.estimate-job{display:none}}
@media(prefers-reduced-motion:reduce){h1{animation:none!important}}

.home-page main>:last-child{margin-bottom:0}

.home-page main{flex:0 0 auto}.home-page footer{margin-top:0}
.lead{margin-left:0!important;margin-right:0!important;text-align:left}.holiday-booking{margin:22px 0 0!important;padding:8px 0 8px 14px;border-left:3px solid #F4C76A;color:var(--gold-text);font-weight:600;max-width:560px}

/* 2026-10-14 tips closing row: article link color must not override button text */
main .tips-cta a.btn-gold,main .tips-cta a.btn-gold:visited{color:#0A1E38!important;text-decoration:none}main .tips-cta a.btn-line{text-decoration:none}

/* 2026-10-14 layout finish */
.tip-card-thumb{display:block;margin:-4px -4px 12px}.tip-card-thumb img{display:block;width:100%;height:auto;aspect-ratio:1200/686;object-fit:cover;border-radius:8px}
.v2-gallery figure.work-single{max-width:540px}.v2-gallery figure.work-single img{width:100%;height:auto}

/* Final review polish */
.v2-content .polish-service{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}
.v2-content .polish-service:nth-of-type(odd) .polish-service-copy{order:2}
.v2-content .polish-service>figure{max-width:none;margin:0}
.v2-content .polish-service img{max-width:none;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.polish-progress,.polish-finished-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.v2-gallery .polish-progress .work-single,.v2-gallery .polish-finished .work-single{max-width:none;width:100%}
.v2-gallery .polish-progress img,.v2-gallery .polish-finished img,.v2-gallery .polish-colors img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.polish-finished-grid>[data-found]:last-child:nth-child(odd){grid-column:1/-1}
.v2-content .polish-colors{grid-template-columns:repeat(5,minmax(0,1fr))}
.polish-estimate-intro{color:var(--white)}
@media(max-width:700px){
.v2-content .polish-service,.polish-progress,.polish-finished-grid,.v2-content .polish-colors{grid-template-columns:1fr}
.v2-content .polish-service:nth-of-type(odd) .polish-service-copy{order:0}
.v2-content .v2-doors{gap:28px;margin:0}
.v2-content .v2-doors section{margin:0}
}
/* Jose October 15 */
.jose-meet{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:center}.jose-meet p{max-width:68ch}.jose-meet .v2-portrait{max-width:240px;justify-self:center}.jose-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.v2-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;background:transparent}.jose-subfilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.jose-subfilters [hidden]{display:none}.v2-gallery>.v2-job-photo,.v2-gallery>section>figure{max-width:540px}.v2-doors{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-doors>p{grid-column:1/-1;max-width:68ch}.jose-about{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:32px;align-items:start}.jose-about>.v2-portrait{margin:0;max-width:300px}.jose-about>.jose-story h2{margin-top:0}.jose-about>.stat-strip{grid-column:1/-1;max-width:none;width:100%;margin:0}.more-projects:has([data-work]):not(:has([data-work]:not([hidden]))){display:none}.jose-about{padding-bottom:48px;background:var(--cream)}.jose-about .jose-story p{max-width:68ch}@media(max-width:700px){.jose-about{grid-template-columns:1fr}.jose-about>.v2-portrait{max-width:260px;justify-self:center}.jose-about>.stat-strip{gap:12px}.jose-meet,.jose-project-grid,.v2-doors{grid-template-columns:1fr}.jose-meet .v2-portrait{max-width:200px}}
