/* Koangi AC & Refrigeration v2: warm paper, black bands, gold-ringed round photos (his coin), gentle motion. */
:root{
  color-scheme:only light;
  --paper:#f4f0e6; --paper-2:#ebe5d6; --ink:#1b170f; --ink-2:#4d4535; --line:#d6cdb6;
  --band:#0a1127; --on-band:#f1ead8; --on-band-2:#cfc6ad;
  --gold:#f0cc55; --gold-text:#6b4d0a; --gold-deep:#c99a2a;
  --btn-a:#d4a42c; --btn-b:#f7de7c; --btn-c:#c4932a; --on-gold:#15110a;
  --blue:#2f6dbf; --blue-deep:#173f82; --blue-text:#1b4a96; --blue-soft:#dfe9f7;
  --focus:#1b4a96;
  --font-brand:'Archivo','Arial Black',sans-serif;
  --font-body:'Atkinson Hyperlegible Next','Helvetica Neue',Arial,sans-serif;
  --r:6px; --maxw:1320px; --gutter:22px;
  --ring:conic-gradient(from 210deg,#7a5a10,#c99a2a,#f7de7c,#c4932a,#7a5a10);
}
*,*::before,*::after{box-sizing:border-box}
html{scrollbar-color:#8d7643 #f4f0e6;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.2rem;line-height:1.6;padding-bottom:84px}
::selection{background:#f0cc55;color:#15110a}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-text);text-decoration-thickness:2px;text-underline-offset:.2em}
a:not(.btn):hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.band :focus-visible,.site-head :focus-visible,.site-foot :focus-visible{outline-color:#8fb6ee}
.skip{position:absolute;left:-999px;top:0;background:#f0cc55;color:var(--on-gold);padding:12px 16px;font-weight:700;z-index:30}
.skip:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}

/* header */
/* header stays at the top while scrolling, on every screen size */
.site-head{background:var(--band);color:var(--on-band);position:sticky;top:0;z-index:20;box-shadow:0 2px 14px rgba(0,0,0,.35)}
[id]{scroll-margin-top:140px}
.head-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding-top:14px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}
.brand img{width:auto;height:72px;flex:none}
.wordmark{font-family:var(--font-brand);font-weight:800;font-stretch:125%;text-transform:uppercase;line-height:1.05;font-size:clamp(1.1rem,4vw,1.75rem);
  background:linear-gradient(100deg,#d4a42c 0%,#f8e08a 45%,#c4932a 100%);color:#e0b93e}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.wordmark{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}}
.nav{display:flex;flex-wrap:wrap;gap:0 4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 12px;color:var(--on-band);text-decoration:none;font-weight:700;font-size:1.1rem;border-bottom:3px solid transparent}
.nav a:hover{color:#8fb6ee}
.nav a[aria-current="page"]{border-bottom-color:var(--blue);color:#fff}
.btn.head-call{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:var(--r);font-family:var(--font-body);font-weight:700;font-size:1.2rem;text-decoration:none;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-gold{background:linear-gradient(100deg,var(--btn-a),var(--btn-b) 50%,var(--btn-c));color:var(--on-gold)}
.btn-gold:hover{box-shadow:0 6px 16px rgba(21,17,10,.28)}
.btn-ink{background:var(--band);color:#f6d86a}
.btn-ink:hover{box-shadow:0 6px 16px rgba(21,17,10,.3);color:#ffe98f}
.btn-line{background:transparent;color:var(--blue-deep);border-color:var(--blue)}
.btn-line:hover{background:var(--blue-deep);color:#fff;border-color:var(--blue-deep)}
.btn-blue{background:linear-gradient(100deg,var(--blue-deep),var(--blue));color:#fff}
.btn-blue:hover{box-shadow:0 6px 16px rgba(23,63,130,.35)}
.band .btn-line{color:var(--on-band);border-color:#6f9be0}
.band .btn-line:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* type */
h1,h2,h3{font-family:var(--font-brand);font-weight:800;font-stretch:125%;margin:0;line-height:1.12;text-wrap:balance}
h1{font-size:clamp(1.9rem,4.4vw,3.5rem)}
h2{font-size:clamp(1.65rem,3.3vw,2.7rem)}
h3{font-size:1.25rem;font-stretch:112%}
p{margin:0 0 1em;max-width:56ch}
.lead{font-size:1.4rem;color:var(--ink-2)}

/* medallion: round photo in a gold ring */
.medal{display:block;border-radius:50%;padding:7px;background:var(--ring);width:100%;aspect-ratio:1/1;box-shadow:0 10px 28px rgba(27,23,15,.22)}
.medal img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#2a2518}
.medal.big{padding:12px;max-width:540px;margin-inline:auto}
.medal.coin{padding:0;background:none;box-shadow:none}
.medal.coin img{background:none;border-radius:0;object-fit:contain}

/* rectangular photos (hero, about, projects) */
.shot{display:block;border-radius:var(--r);overflow:hidden;background:#2a2518;box-shadow:0 12px 30px rgba(27,23,15,.22)}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.hero-shot{aspect-ratio:4/5;max-width:600px;margin-inline:auto;width:100%}
.hero-shot img{object-position:50% 90%;transform:scale(1.13);transform-origin:100% 75%}
.hero-shot.hero-me img{object-position:50% 28%;transform:none}
.about-shot{aspect-ratio:3/4;max-width:460px;margin-inline:auto;width:100%}
.gallery{list-style:none;margin:0;padding:36px 0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gallery .tile{display:block;text-decoration:none;color:var(--ink)}
.gallery .shot{aspect-ratio:3/4}
.gallery .tile:hover .shot img{transform:scale(1.04)}
.gallery .shot img{transition:transform .5s ease}
.gallery .cap{display:block;padding:12px 2px 0;font-size:1.1rem;color:var(--ink-2);line-height:1.4}
.cat{padding-top:30px}.cat-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 8px}.cat-head p{margin:0;font-size:1.25rem;color:var(--ink-2);max-width:60ch}.cat .gallery{padding:22px 0 18px}.about-me img{object-position:50% 35%}
.work-cta{max-width:420px;margin:30px auto 50px}
.work-cta{background:var(--band);color:var(--on-band);border-radius:var(--r);padding:34px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}
.work-cta .medal{max-width:150px}
.work-cta h2{font-size:1.5rem;margin:0;color:var(--gold)}
.work-cta p{margin:0;color:var(--on-band-2)}
.lightbox{border:0;padding:0;background:transparent;max-width:min(92vw,900px);max-height:92vh;overflow:visible}
.lightbox::backdrop{background:rgba(15,13,9,.88)}
.lightbox img{max-width:100%;max-height:82vh;width:auto;margin:0 auto;border-radius:var(--r)}
.lightbox p{color:#f1ead8;text-align:center;margin:12px auto 0;max-width:none}
.lightbox button{position:absolute;top:-14px;right:-6px;min-width:48px;min-height:48px;border-radius:50%;border:0;background:#f0cc55;color:#15110a;font-size:1.6rem;font-weight:700;cursor:pointer}

/* sections */
.section{padding:100px 0}
main{overflow-x:clip}
.section h2{margin-bottom:44px}
.band{background:var(--band);color:var(--on-band)}
.band h2{color:var(--gold)}
.band p{color:var(--on-band-2)}
.hero{padding:44px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{margin-bottom:20px}
.hero .lead{margin-bottom:30px;max-width:30ch}
.tagline{font-family:var(--font-brand);font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:.08em;font-size:1.05rem;color:var(--blue-text);margin:0 0 14px;animation:rise .7s ease-out both}

/* brands: plain names, no logos */
.brands{padding-top:0;padding-bottom:0}
.band + .brands{padding-top:100px}
.brand-list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:20px 24px;align-items:center}
.brand-list li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 44px;display:flex;align-items:center}
.brand-list img{height:38px;width:auto}
.brand-list li.brand-txt{font-family:var(--font-brand);font-weight:800;font-stretch:112%;font-size:1.5rem;letter-spacing:.02em;color:var(--ink);min-height:106px;min-width:200px;justify-content:center}
.brands p{color:var(--ink-2);margin:0}

/* proof band */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px;padding-top:52px;padding-bottom:52px;text-align:center;align-items:start}
.proof p{margin:0;max-width:none;font-family:var(--font-brand);font-weight:800;font-stretch:112%;font-size:1.1rem;line-height:1.35;color:var(--on-band);margin-inline:auto}
.proof span{display:block;white-space:nowrap;color:var(--gold);font-size:1.55rem;line-height:1.1;margin-bottom:6px}

/* round tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:76px 56px;max-width:1040px;margin-inline:auto}
.tile{text-align:center}
.tile .medal{max-width:400px;padding:10px;margin:0 auto 28px}
.tile h3{margin-bottom:10px;font-size:1.7rem}
.tile p{margin:0 auto;color:var(--ink-2);font-size:1.25rem;max-width:28ch}
.more{margin-top:64px;text-align:center;max-width:none}

/* service checklist */
.checks{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.checks li{padding:18px 16px;border-top:3px solid var(--blue);font-weight:700;font-size:1.15rem;line-height:1.35;color:var(--on-band)}

/* call band */
.callband{text-align:center;padding:76px 0}
.callband h2{margin-bottom:12px}
.callband .phone{display:block;font-family:var(--font-brand);font-weight:800;font-stretch:125%;font-size:clamp(1.9rem,5.4vw,3.6rem);color:var(--ink);text-decoration:none;margin:10px 0 28px}
.callband .phone:hover{color:var(--blue-text)}
.callband .btn-row{justify-content:center}

/* inner pages */
.page-head{padding:52px 0 8px}
.page-head p{font-size:1.35rem;margin:14px 0 0;color:var(--ink-2)}
.svc-list{display:grid;grid-template-columns:1fr;gap:96px;padding-top:56px;padding-bottom:96px;max-width:1120px}
.svc-row{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:72px;align-items:center}
.svc-row:nth-child(even){grid-template-columns:1fr minmax(0,420px)}
.svc-row:nth-child(even)>:first-child{order:2}
.svc-row .medal{padding:10px}
.svc-row h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 14px;color:var(--ink)}
.svc-row p{margin:0;color:var(--ink-2);font-size:1.4rem;max-width:30ch}
.svc-row:nth-child(even)>:last-child{justify-self:end}
.svc-note{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between;background:var(--band);border-radius:var(--r);padding:40px 44px}
.svc-note h2{color:var(--gold);margin:0 0 8px}
.svc-note p{color:var(--on-band-2);margin:0;font-size:1.3rem}

/* home: what can I help with */
.help{display:grid;grid-template-columns:1fr 1fr;gap:40px 72px}
.help h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-text);margin-bottom:6px}
.help-list{list-style:none;margin:0;padding:0}
.help-list li{border-bottom:2px solid var(--line)}
.help-list a{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;padding:26px 8px 26px 0;text-decoration:none;color:var(--ink);transition:padding .3s ease,background .3s ease}
.help-list .q{font-family:var(--font-brand);font-weight:800;font-stretch:112%;font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.2}
.help-list .a{grid-column:1;color:var(--ink-2);font-size:1.2rem}
.help-list .go{grid-row:1 / span 2;grid-column:2;font-size:1.9rem;color:var(--blue);transition:transform .3s ease}
.help-list a:hover,.help-list a:focus-visible{background:var(--paper-2);padding-left:16px}
.help-list a:hover .go{transform:translateX(8px)}
.help-list a:hover{color:var(--ink)}

/* home: projects teaser */
.work-teaser{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:64px;align-items:center}
.teaser-shot{aspect-ratio:4/3}
.work-teaser h2{margin-bottom:16px}
.work-teaser p{font-size:1.3rem;color:var(--ink-2);margin-bottom:28px;max-width:30ch}
.work-teaser + .brands,.section:has(.work-teaser) + .brands{padding-top:0}

/* homes and businesses */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.split-shot{aspect-ratio:4/3;margin-bottom:24px}
.split h3{font-size:1.7rem;margin-bottom:10px}
.split p{color:var(--ink-2);font-size:1.25rem;margin:0;max-width:34ch}
.split-sec{padding-top:0}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 36px;padding-top:36px;padding-bottom:72px}
.work figure{margin:0;text-align:center}
.work .medal{max-width:340px;margin:0 auto 16px}
figcaption{color:var(--ink-2);font-size:1.1rem;line-height:1.45;max-width:30ch;margin:0 auto}
.about-grid{display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:center;padding-top:32px;padding-bottom:72px}
.about-grid h1{margin-bottom:22px}
.about-grid .facts{list-style:none;margin:0 0 32px;padding:0}
.about-grid .facts li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}
.lic{margin-bottom:0}
a[href^="tel:"]{white-space:nowrap}
.site-foot li a{display:inline-block;padding:9px 0}
.lic-h{font-size:1.4rem;margin:26px 0 10px}
.lic{display:grid;grid-template-columns:minmax(120px,170px) 1fr;margin:0 0 8px;max-width:620px}
.lic dt,.lic dd{margin:0;padding:12px 0;border-top:1px solid var(--line)}
.lic dt{font-family:var(--font-brand);font-weight:800;font-stretch:112%;font-size:1.05rem}
.lic dd{color:var(--ink-2)}
.lic dd:last-of-type,.lic dt:last-of-type{border-bottom:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;padding-top:32px;padding-bottom:72px;align-items:start}
.form{background:#fbf9f2;border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:20px}
.field label{display:block;font-weight:700;margin-bottom:6px}
.opt{font-weight:400;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:56px;padding:12px 14px;font:inherit;font-size:1.15rem;color:var(--ink);background:#fff;border:2px solid #8a8168;border-radius:var(--r)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--ink)}
.field .bad{border-color:#a3261b}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-msg{margin:0;padding:14px 16px;border-radius:var(--r);background:#f6e3a0;color:var(--ink);font-weight:700;max-width:none}
.form-msg.ok{background:#d9ecd0}
.form-msg.err{background:#f4d3cd}
.fine{margin:0;font-size:1rem;color:var(--ink-2)}
.form .btn{width:100%}
.big-phone{font-family:var(--font-brand);font-weight:800;font-stretch:125%;font-size:clamp(1.8rem,4.6vw,3rem);color:var(--ink);text-decoration:none;display:block;margin:0 0 14px}
.big-phone:hover{color:var(--blue-text)}
.contact-grid h2{margin-bottom:18px;font-size:1.5rem}
ul.plain{margin:0 0 1em;padding-left:1.2em;max-width:44ch}
ul.plain li{margin-bottom:.5em}
.todo{color:var(--ink);background:#f6e3a0;border:1px dashed var(--gold-deep);padding:2px 10px;border-radius:var(--r);font-size:1.05em}

/* footer */
.site-foot{background:var(--band);color:var(--on-band-2);padding:48px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.site-foot h2{font-size:1.1rem;margin-bottom:12px;color:#8fb6ee}
.site-foot p,.site-foot li{font-size:1.15rem;color:var(--on-band-2)}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:6px}
.site-foot a{color:var(--on-band)}
.site-foot a:hover{color:var(--gold)}
.site-foot .brand img{width:auto;height:58px}
.draft-note{margin-top:30px;padding-top:18px;border-top:1px solid #1f2d5c;font-size:1.05rem;color:var(--on-band-2)}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--band);border-top:1px solid #23346a;padding:10px var(--gutter)}
.callbar{transition:transform .35s ease}.callbar.away{transform:translateY(110%)}
.callbar .btn{width:100%;min-height:60px;font-size:1.3rem}

/* gentle motion: fades and small lifts only, works on phones */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes settle{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.hero h1{animation:rise .7s ease-out both}
.hero .lead{animation:rise .7s .12s ease-out both}
.hero .btn-row{animation:rise .7s .24s ease-out both}
.hero .medal{animation:settle .9s .1s ease-out both}
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease-out,transform .7s ease-out;transition-delay:var(--d,0s)}
.js .rv-l{transform:translateX(-56px)}
.js .rv-r{transform:translateX(56px)}
.js .rv-z{transform:scale(.88)}
.js .rv-l,.js .rv-r,.js .rv-z{transition-duration:.9s;transition-timing-function:cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
/* gold rule that draws left to right under section headings as they arrive */
.section h2.rv::after,.callband h2.rv::after{content:"";display:block;height:4px;width:76px;margin-top:16px;background:linear-gradient(90deg,var(--blue) 0 60%,var(--gold-deep) 60% 100%);border-radius:2px;transform-origin:0 50%;transition:transform .9s cubic-bezier(.2,.7,.2,1) .25s}
.callband h2.rv::after{margin-inline:auto;transform-origin:50% 50%}
.js .section h2.rv::after,.js .callband h2.rv::after{transform:scaleX(0)}
.js .section h2.rv.in::after,.js .callband h2.rv.in::after{transform:scaleX(1)}
.shot.rv img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.js .shot.rv:not(.in) img{transform:scale(1.12)}
.medal{transition:transform .35s ease}
.tile:hover .medal,.work figure:hover .medal{transform:scale(1.03) rotate(-1deg)}

@media (min-width:900px){
  body{padding-bottom:0}
  .callbar{display:none}
  .btn.head-call{display:inline-flex}
  /* slimmer sticky header on desktop */
  .head-row{padding-top:8px;padding-bottom:8px}
  .site-head .brand img{width:auto;height:50px}
  .site-head .brand{gap:13px}
  .site-head .wordmark{font-size:1.3rem}
  .site-head .btn{min-height:46px;padding:0 22px;font-size:1.1rem}
  .nav a{min-height:44px}
  [id]{scroll-margin-top:104px}
}
@media (max-width:1180px){
  .proof{grid-template-columns:1fr;gap:22px}
}
@media (max-width:1060px){
  .nav{margin-left:0;width:100%}
  .head-row .head-call{margin-left:auto}
}
@media (max-width:1000px){
  .checks{grid-template-columns:1fr 1fr}
  .work{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
}
@media (max-width:899px){
  :root{--gutter:18px}
  [id]{scroll-margin-top:130px}
  .hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
  .form{padding:20px}
  .hero .medal{max-width:250px;order:-1}
  .hero-shot{max-width:340px;order:2;aspect-ratio:16/9}
  .hero-grid{gap:22px}
  .hero .btn-row .btn{flex:1 1 100%}
  .hero .lead{font-size:1.1rem;margin-bottom:22px}
  .hero-shot img{object-position:50% 86%}
  .hero-shot.hero-me{aspect-ratio:16/9;max-width:420px;order:-1}
  .hero-shot.hero-me img{object-position:50% 24%}
  .gallery{grid-template-columns:1fr 1fr}
  .hero{padding:18px 0 40px}
  .proof{grid-template-columns:1fr;gap:20px;padding-top:30px;padding-bottom:30px}
  .proof span{font-size:1.5rem}
  .svc-list{gap:64px;padding-top:40px;padding-bottom:64px}
  .svc-row,.svc-row:nth-child(even){grid-template-columns:1fr;gap:26px;text-align:center}
  .svc-row:nth-child(even)>:first-child{order:0}
  .svc-row:nth-child(even)>:last-child{justify-self:auto}
  .svc-row .medal{max-width:320px;margin-inline:auto}
  .svc-row p{margin-inline:auto;font-size:1.25rem}
  .svc-note{padding:30px 24px}
  .split{grid-template-columns:1fr;gap:44px}
  .help{grid-template-columns:1fr;gap:44px}
  .help-list a{padding:22px 4px 22px 0}
  .work-teaser{grid-template-columns:1fr;gap:28px}
  .tiles{gap:56px 28px}
  .js .rv-l{transform:translateX(-28px)}
  .js .rv-r{transform:translateX(28px)}
  .band + .brands{padding-top:64px}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .section{padding:64px 0}
  .split-sec{padding-top:0}
  .brand img{width:auto;height:54px}
  .nav{gap:0}
  .nav a{padding:0 9px;font-size:1.05rem}
}
@media (max-width:560px){
  .lic{grid-template-columns:1fr}
  .lic dt,.lic dt:last-of-type{border-bottom:0;padding-bottom:0}
  .lic dd{border-top:0;padding-top:2px}
  h1{font-size:1.8rem}
  .tiles{grid-template-columns:1fr;gap:52px}
  .tile .medal{max-width:300px}
  .tile h3{font-size:1.45rem}
  .brand-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .brand-list li{padding:22px 14px;justify-content:center}
  .brand-list img{height:auto;width:100%;max-width:130px}
  .brand-list li.brand-txt{font-size:1.2rem;min-height:70px;min-width:0}
  .about-grid{padding-top:44px}
  .checks{grid-template-columns:1fr}
  .work{grid-template-columns:1fr;gap:38px}
  .gallery{grid-template-columns:1fr;gap:30px}
  .gallery .shot{aspect-ratio:4/5}
  .btn{white-space:normal;text-align:center}
  .brand img{width:auto;height:50px}
  .site-head .brand img{width:46px;height:46px}
  .site-head .brand{gap:12px}
  .site-head .wordmark{font-size:1.05rem}
  .head-row{padding-top:8px;padding-bottom:2px;gap:2px 20px}
  .nav a{padding:0 6px;font-size:.98rem;min-height:44px}
}

/* full logo lockup (projects call-out, footer) */
.lockup{display:block;width:100%;max-width:340px;height:auto;margin-inline:auto}
.work-cta .lockup{max-width:230px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.duo .medal{padding:6px;border-radius:20px;aspect-ratio:3/4}
.duo .medal img{border-radius:14px}
.duo .medal:nth-child(2){margin-top:56px}
.duo .medal{position:relative}.ba{position:absolute;left:12px;top:12px;background:var(--gold,#e3bd5b);color:#0f0d09;font:700 .85rem/1 inherit;padding:6px 10px;border-radius:99px;letter-spacing:.04em;text-transform:uppercase}
.svc-row:has(.duo){grid-template-columns:minmax(0,660px) 1fr;gap:56px}
.svc-row:nth-child(even):has(.duo){grid-template-columns:1fr minmax(0,660px)}
.duo{gap:20px}.duo .medal:nth-child(2){margin-top:44px}
@media (max-width:760px){.svc-row:has(.duo),.svc-row:nth-child(even):has(.duo){grid-template-columns:1fr;gap:24px}.duo .medal:nth-child(2){margin-top:28px}}
.gallery.land .shot{aspect-ratio:4/3}
.duo.land{grid-template-columns:1fr;max-width:520px}.duo.land .medal{aspect-ratio:4/3}.duo.land .medal:nth-child(2){margin-top:0}
.brand-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.brand-list li{justify-content:center;height:116px;padding:18px 26px}
.brand-list img{height:auto;width:auto;max-height:48px;max-width:100%}
@media (max-width:899px){.brand-list{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-list li{height:96px;padding:16px}.brand-list img{max-height:40px;max-width:100%}}

/* stop the iPhone bounce from showing an empty area past the header and footer */
html,body{overscroll-behavior-y:none}
