/* Aquatic Finishes — site styles */
:root{
  color-scheme: dark;
  --black:#030405;
  --deep:#08131d;
  --panel:#0c1a26;
  --line:#1c3346;
  --wave:#2f6fa8;
  --foam:#8cc3e8;
  --copper:#c9843f;
  --copper-hi:#e3a15c;
  --steel:#a9b3ba;
  --text:#e7ecef;
  --muted:#9aa9b4;
  --display:"Cinzel", "Trajan Pro", Georgia, serif;
  --body:"Barlow", "Helvetica Neue", Arial, sans-serif;
  --label:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{background:var(--black);color:var(--text);font:400 17px/1.6 var(--body);margin:0}
img{max-width:100%;height:auto}
a{color:var(--copper-hi)}
:focus-visible{outline:2px solid var(--copper-hi);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:.02em;text-wrap:balance;margin:0}
h2{font-size:clamp(28px,4.2vw,44px);color:var(--copper);line-height:1.1}
h3{font-size:20px;color:var(--text);font-weight:600;line-height:1.25}
p{margin:0}
.eyebrow{font:600 14px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--foam)}
.lede{color:var(--muted);max-width:62ch}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:100;background:var(--copper);color:var(--black);padding:10px 14px}

/* top strip */
.strip{background:var(--deep);border-bottom:1px solid var(--line);font:500 14px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.strip .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:9px}
@media (max-width:1000px){.strip .hide-sm{display:none}}
.strip b{color:var(--copper-hi);font-weight:600}
.strip a{color:var(--text);text-decoration:none}
@media (max-width:620px){.strip .hide-sm{display:none}}

/* nav */
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(3,4,5,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;font:800 18px/1 var(--display);color:var(--copper);text-decoration:none;letter-spacing:.06em}
.brand img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.navlinks{display:flex;gap:22px;align-items:center}
.navlinks a{font:500 16px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);text-decoration:none}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--text)}
.navlinks a.btn{color:var(--black)}
@media (max-width:820px){.navlinks a:not(.btn){display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--copper);color:var(--black);font:600 16px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;border-radius:3px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:var(--copper-hi)}
.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--steel)}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
#caustics{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.55;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,transparent 0,var(--black) 78%);pointer-events:none;z-index:-1}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:center;padding-block:56px 64px}
.hero-logo{width:100%;max-width:440px;mix-blend-mode:screen;justify-self:center;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%);mask-image:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%)}
.hero-copy{display:grid;gap:22px}
.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.06;color:var(--text)}
.hero h1 span{color:var(--copper)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.license{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center;font:600 15px/1.3 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.license b{color:var(--copper-hi);font-weight:600;font-variant-numeric:tabular-nums}
.hero.slim .wrap{grid-template-columns:1fr;padding-block:56px}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr;padding-block:28px 48px;gap:12px}.hero-logo{max-width:280px}}

/* trust bar */
.trust{border-bottom:1px solid var(--line);background:var(--deep)}
.trust ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.trust li{display:grid;gap:4px}
.trust .k{font:600 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}
.trust .v{font-size:15px;color:var(--text);line-height:1.35}
@media (max-width:760px){.trust ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}

section{padding-block:80px}
.sec-head{display:grid;gap:14px;margin-bottom:40px}

/* finishes */
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:8px;width:max-content}
.toggle button{background:transparent;color:var(--muted);border:0;font:600 15px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;padding:11px 16px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--wave);color:#fff}
.finishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.finish{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--copper);border-radius:4px;overflow:hidden;display:grid}
.makers{margin:4px 0 6px;display:grid;gap:8px;padding:12px 0;border-block:1px solid var(--line)}
.makers div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.makers dt{font-weight:600;color:var(--text)}
.makers dd{margin:0;font:600 13px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--foam)}
.finish canvas{display:block;width:100%;height:100%;min-height:220px}
.finish .body{padding:26px;display:grid;gap:10px;align-content:start}
.finish h3{font-size:22px;color:var(--copper-hi)}
.finish .type{font:600 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--foam)}
.finish p{color:var(--muted);font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tags span{font:500 13px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--foam);border:1px solid var(--line);padding:6px 8px;border-radius:2px}
.note{margin-top:18px;color:var(--muted);font-size:14px}
@media (max-width:900px){.finishes{grid-template-columns:1fr}}

/* services */
.band{background:var(--deep);border-block:1px solid var(--line)}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:var(--deep);padding:28px;display:grid;gap:10px;align-content:start}
.svc p{color:var(--muted);font-size:16px}
.svc .k{font:600 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}
.svc.wide{grid-column:span 2}
.services.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.services.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.services.four{grid-template-columns:1fr}}
@media (max-width:900px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.services{grid-template-columns:1fr}.svc.wide{grid-column:auto}}

/* markets */
.markets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.market{padding:30px;border:1px solid var(--line);border-radius:4px;display:grid;gap:14px;align-content:start}
.market ul,.checks{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px}
.market .btn{justify-self:start;margin-top:6px}
@media (max-width:720px){.markets{grid-template-columns:1fr}}

/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;counter-reset:s}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start;border-top:2px solid var(--wave);padding-top:16px}
.steps li::before{content:"Step " counter(s);font:600 14px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--foam)}
.steps p{color:var(--muted);font-size:16px}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* area */
.area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.counties{display:grid;gap:18px}
.county{border-left:2px solid var(--copper);padding-left:16px;display:grid;gap:4px}
.county h3{font-size:18px}
.county p{color:var(--muted);font-size:15px}
@media (max-width:820px){.area{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{border:1px solid var(--line);border-radius:4px;background:var(--panel)}
.faq summary{cursor:pointer;padding:18px 20px;font:600 18px/1.3 var(--body);color:var(--text);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--copper);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 20px 18px;color:var(--muted)}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.facts{display:grid;gap:18px;margin-top:28px}
.fact{display:grid;gap:4px}
.fact .k{font:600 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.fact .v{font-size:19px;color:var(--text);font-variant-numeric:tabular-nums}
.fact .v a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--copper)}
form.quote{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:28px;display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){.row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font:600 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
input,select,textarea{font:400 16px/1.4 var(--body);color:var(--text);background:var(--black);border:1px solid var(--line);border-radius:3px;padding:11px 12px;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--wave);outline:none}
.hp{position:absolute;left:-9999px}
.fine{font-size:13px;color:var(--muted)}
#formMsg{font-size:15px;color:var(--foam)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

/* prose pages */
.prose{max-width:760px;display:grid;gap:16px}
.prose h2{font-size:26px;margin-top:18px}
.prose p,.prose li{color:var(--muted)}
.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}

/* mobile call bar */
.callbar{display:none}
@media (max-width:720px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--black);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}
  .callbar .btn{padding:13px 10px}
  body{padding-bottom:72px}
}

footer{border-top:1px solid var(--line);padding-block:32px;color:var(--muted);font-size:14px}
footer .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
footer h4{margin:0 0 8px;font:600 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
footer a{color:var(--muted)}
footer .legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media (max-width:720px){footer .wrap{grid-template-columns:1fr}}

/* photo gallery */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:12px}
.gallery .feature{grid-column:span 2;grid-row:span 2}
.gallery.four{grid-auto-rows:260px}
.shot{margin:0;position:relative;overflow:hidden;border-radius:4px;border:1px solid var(--line);background:var(--panel)}
.shot button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.shot button:focus-visible{outline:2px solid var(--copper-hi);outline-offset:-2px}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.shot:hover img{transform:scale(1.03)}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font:500 14px/1.3 var(--body);color:#fff;background:linear-gradient(transparent,rgba(3,4,5,.85));pointer-events:none}
@media (max-width:860px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.gallery.four{grid-auto-rows:200px}}
@media (prefers-reduced-motion: reduce){.shot img{transition:none}.shot:hover img{transform:none}}
#lightbox{padding:0;border:0;background:transparent;max-width:min(1400px,94vw);max-height:92vh}
#lightbox::backdrop{background:rgba(3,4,5,.9)}
#lightbox img{display:block;max-width:100%;max-height:86vh;border-radius:4px}
.lb-close{display:block;margin:0 0 8px auto;background:var(--copper);color:var(--black);border:0;border-radius:3px;font:600 14px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
/* commercial hero with photo */
.hero.photo{background:linear-gradient(90deg,rgba(3,4,5,.9) 0%,rgba(3,4,5,.65) 50%,rgba(3,4,5,.15) 100%),url(images/finished-sky-1600.jpg) center 70%/cover}
.hero.photo::after{display:none}
.hero.photo .wrap{padding-block:72px}

.project:nth-of-type(even){background:var(--deep);border-block:1px solid var(--line)}
.project + .project{padding-top:80px}
.cat-links{display:flex;gap:12px;flex-wrap:wrap}
.work-group{display:grid;gap:12px}
.work-group + .work-group{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.work-group h3{font-size:24px;color:var(--copper-hi)}
.work-group .gallery{margin-top:12px}
.gallery.three{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:260px}
.gallery.two{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:340px}
.gallery.one{grid-template-columns:1fr;grid-auto-rows:auto}
.gallery.one .shot{aspect-ratio:2/1;max-width:100%}
@media (max-width:860px){
  .gallery.three,.gallery.two{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}
  .gallery.three .shot:last-child:nth-child(odd){grid-column:span 2}
}
