/* No external font requests. */
:root{--bg:#080909;--panel:#111313;--white:#f3f0eb;--soft:#b2b2ad;--pink:#ee0a58;--line:#484947;--max:1460px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.55 'Helvetica Neue',Arial,sans-serif;background-image:linear-gradient(90deg,transparent 98%,rgba(255,255,255,.018) 100%);background-size:5px 5px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit}a:hover{color:var(--pink)}img{max-width:100%}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:var(--pink);padding:8px}.site-head,.site-foot{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:24px clamp(20px,5vw,70px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;font-weight:700;letter-spacing:.02em;line-height:1.02;font-size:21px}.brand img{width:46px;height:46px}.site-head nav,.admin-head nav{display:flex;gap:clamp(15px,2.5vw,39px);flex-wrap:wrap}.site-head nav a,.head-note,.eyebrow,.label,.project-meta,.site-foot a,.admin-head{font-size:12px;letter-spacing:.16em;text-decoration:none;font-weight:600}.head-note{border-right:2px solid var(--pink);padding-right:25px;line-height:1.3}.hero{max-width:var(--max);margin:auto;min-height:610px;display:grid;grid-template-columns:54% 46%;border-bottom:1px solid var(--line)}.hero-copy{padding:42px clamp(20px,5vw,70px) 44px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.hero h1{font:900 clamp(64px,7.1vw,116px)/.78 Impact,'Arial Narrow',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:10px 0 20px;max-width:760px}.hero .tagline{font-size:clamp(21px,2.1vw,31px);letter-spacing:.2em;margin:0}.hero .description{max-width:440px;font-size:clamp(18px,1.45vw,22px);line-height:1.32;margin:52px 0 0}.pink-rule{display:block;width:34px;height:4px;background:var(--pink);margin:10px 0 0}.hero-art{min-height:610px;background:#111 url('/assets/img/hero-art.png') center/cover no-repeat;position:relative}.section{max-width:var(--max);margin:auto;padding:25px clamp(20px,5vw,70px) 60px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.section-title .label:before{content:'03  /  ';color:var(--soft);margin-right:24px}.section-title a{font-size:13px;letter-spacing:.12em;text-decoration:none}.section-title a:after{content:'  —';color:var(--pink)}.service-band{max-width:var(--max);margin:auto;padding:20px clamp(20px,5vw,70px);display:grid;grid-template-columns:135px 1fr 115px;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.service-band p{display:flex;justify-content:space-around;gap:15px;flex-wrap:wrap;margin:0;font-size:clamp(17px,1.7vw,27px)}.service-band p > span + span:before{content:'/';color:var(--pink);padding-right:clamp(10px,2vw,27px)}.service-band .tiny{font-size:10px;letter-spacing:.16em;line-height:1.5}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,4vw,60px);row-gap:26px}.work-card{min-width:0}.work-card>a{display:block;overflow:hidden;aspect-ratio:1;background:#171818}.work-card img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s ease}.work-card a:hover img{transform:scale(1.025)}.work-caption{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}.work-caption a{text-decoration:none;font-size:19px}.work-caption time{font-size:12px;letter-spacing:.14em}.project-meta{color:var(--soft);text-transform:uppercase}.site-foot{border:0;align-items:start;padding-top:40px;padding-bottom:45px}.site-foot small{color:var(--soft)}.site-foot>span{font-size:14px}.site-foot>span:last-child a{display:inline-block;margin-top:8px;border-bottom:2px solid var(--pink);padding-bottom:8px}.page-title{max-width:var(--max);margin:auto;padding:70px clamp(20px,5vw,70px) 35px}.page-title h1{font:800 clamp(56px,7vw,105px)/.88 Impact,'Arial Narrow',sans-serif;margin:0 0 20px;text-transform:uppercase}.page-title p{max-width:740px;font-size:20px;color:var(--soft)}.filters{display:flex;gap:25px;margin:20px 0 35px;border-bottom:1px solid var(--line)}.filters a{padding:10px 0;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.15em}.filters .active{border-bottom:3px solid var(--pink)}.article{max-width:var(--max);margin:auto;padding:0 clamp(20px,5vw,70px) 70px}.article-copy{max-width:780px;font-size:19px;white-space:pre-line}.article-image{width:100%;max-height:720px;object-fit:cover;margin:0 0 40px}.project-header{display:grid;grid-template-columns:1fr 280px;gap:50px}.project-header .details{border-top:1px solid var(--line);padding-top:20px}.project-header dl{margin:0}.project-header dt{text-transform:uppercase;color:var(--soft);font-size:12px;letter-spacing:.14em}.project-header dd{margin:0 0 18px}.project-gallery{max-width:var(--max);margin:0 auto 80px;padding:0 clamp(20px,5vw,70px);display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-gallery figure{margin:0}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{font-size:13px;color:var(--soft);margin-top:7px}.project-gallery figure:first-child{grid-column:span 2;max-width:1000px;margin:auto}.cta{display:inline-block;padding:13px 24px;background:var(--pink);color:white;text-decoration:none;border:1px solid var(--pink);font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font:700 13px 'Helvetica Neue',Arial,sans-serif}.cta:hover{background:#fff;color:#111;border-color:#fff}.cta.secondary{background:transparent;color:var(--white);border-color:var(--line)}.cta.secondary:hover{border-color:var(--pink)}.content-block{border-top:1px solid var(--line);padding:30px 0}.content-block h2{font:700 38px Impact,'Arial Narrow',sans-serif;margin:0 0 8px;text-transform:uppercase}.content-block p{max-width:750px}.form-wrap{max-width:1050px;margin:0 auto;padding:0 25px 80px}.form-panel,.admin-panel{border:1px solid var(--line);background:#101111;padding:clamp(20px,3vw,38px);margin:20px 0}.form-panel h2,.admin-panel h2{font:700 35px Impact,'Arial Narrow',sans-serif;text-transform:uppercase;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600;letter-spacing:.03em}label>span{display:block;margin:0 0 6px}.hint{display:block;color:var(--soft);font-size:12px;letter-spacing:0;font-weight:400;margin:5px 0}input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;background:#080909;border:1px solid #666;color:var(--white);padding:11px 12px;border-radius:0;min-height:44px}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--pink);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--pink);margin-right:8px}.choice{display:inline-flex;align-items:center;margin:5px 20px 5px 0}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.expand-panel{border-left:2px solid var(--pink);padding:12px 0 12px 18px;margin:12px 0;background:#161616}.repeat-row{display:grid;grid-template-columns:2fr .8fr 2fr auto;gap:8px;margin:8px 0}.warning{border:1px solid #e9424f;padding:18px;color:#ffdadd;background:#291216}.notice{padding:13px 17px;margin:18px 0;border:1px solid var(--line)}.notice-error{border-color:#ec4755}.notice-success{border-color:#84c691}.admin-body{background:#111}.admin-head{max-width:none;padding:16px 4vw;background:#070808;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-head a{text-decoration:none}.admin-main{max-width:1220px;margin:auto;padding:35px 25px 90px}.admin-main h1{font:800 clamp(42px,5vw,72px) Impact,'Arial Narrow',sans-serif;margin:0 0 20px;text-transform:uppercase}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{color:var(--soft);font-size:12px;text-transform:uppercase}.admin-table a{color:#fff}.muted{color:var(--soft)}.actions{display:flex;gap:10px;flex-wrap:wrap}.danger{background:#8d1b30!important;border-color:#8d1b30!important}.badge{display:inline-block;padding:3px 9px;border:1px solid var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.admin-preview{display:flex;gap:12px;flex-wrap:wrap}.admin-preview figure{margin:0;width:180px}.admin-preview img{width:180px;height:180px;object-fit:contain}.admin-preview figcaption{font-size:12px}.quote-sheet{background:#fff;color:#111;padding:45px;max-width:900px;margin:20px auto}.quote-sheet h2{font:700 46px Impact,'Arial Narrow',sans-serif}.quote-sheet table{width:100%;border-collapse:collapse}.quote-sheet td,.quote-sheet th{border-bottom:1px solid #ccc;padding:10px;text-align:left}.quote-sheet td:last-child{text-align:right}.quote-sheet .totals{text-align:right;font-weight:700}.quote-sheet .brand{color:#111}.quote-sheet .brand.default-logo img{filter:invert(1)}.print-only{display:none}
@media(max-width:820px){.site-head{gap:15px;flex-wrap:wrap}.site-head nav{order:3;width:100%;justify-content:space-between;gap:10px}.head-note{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{min-height:480px}.hero-art{min-height:370px}.service-band{grid-template-columns:1fr}.service-band .tiny{display:none}.site-foot{flex-wrap:wrap;gap:28px}.project-header{grid-template-columns:1fr}.admin-head{display:block}.admin-head nav{margin-top:15px}.form-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}}@media(max-width:600px){.brand{font-size:16px;gap:8px}.brand img{width:37px;height:37px}.site-head{padding:16px 18px}.site-head nav a{font-size:10px;letter-spacing:.1em}.head-note{padding-right:8px}.hero h1{font-size:clamp(63px,15vw,88px)}.hero-copy{padding:30px 22px}.hero .tagline{font-size:17px}.hero .description{margin-top:33px}.work-grid{gap:15px}.work-caption{display:block}.work-caption a{font-size:14px}.work-caption time{display:block}.project-gallery{grid-template-columns:1fr}.project-gallery figure:first-child{grid-column:auto}.repeat-row{grid-template-columns:1fr 1fr}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:6px}}@media print{.admin-head,.admin-main>.eyebrow,.admin-main>h1,.no-print,.site-head,.site-foot{display:none!important}.quote-sheet{margin:0;padding:0;box-shadow:none;max-width:none}.print-only{display:block}body{background:white;color:#111}body:before{display:none}}

.project-gallery{display:block;max-width:1030px}.project-gallery figure,.project-gallery figure:first-child{max-width:none;margin:0 0 30px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dashboard-grid .admin-panel{text-decoration:none}.honey{position:absolute;left:-10000px}.form-panel fieldset{border:0;padding:0;margin:0}.form-panel legend{font-weight:700;margin-bottom:8px}.remove-track{background:transparent;color:#fff;border:1px solid #666;font-size:22px;cursor:pointer}.quote-sheet p{max-width:none}@media(max-width:820px){.dashboard-grid{grid-template-columns:1fr}}
.quote-line{display:grid;grid-template-columns:3fr .7fr 1fr;gap:10px;margin:8px 0}.quote-line input{min-width:0}@media(max-width:600px){.quote-line{grid-template-columns:1fr 1fr}.quote-line input:first-child{grid-column:1/-1}}

.profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:clamp(25px,5vw,75px)}.profile-highlights,.profile-links{list-style:none;padding:0;margin:22px 0}.profile-highlights li{position:relative;padding:16px 0 16px 29px;border-bottom:1px solid var(--line);font-size:clamp(18px,2vw,25px);line-height:1.35}.profile-highlights li:before{content:'+';position:absolute;left:0;color:var(--pink)}.profile-links li{border-bottom:1px solid var(--line)}.profile-links a{display:flex;justify-content:space-between;gap:15px;padding:15px 0;font-size:18px;text-decoration:none}.profile-links a span{color:var(--pink)}.profile-aside{border-top:2px solid var(--pink);padding-top:20px}.profile-aside p{font:700 clamp(35px,4vw,60px)/.98 Impact,'Arial Narrow',sans-serif;text-transform:uppercase}.profile-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-card{display:flex;flex-direction:column;gap:10px;min-height:175px;padding:22px;background:#151717;text-decoration:none;border:1px solid var(--line)}.profile-card strong{font:700 35px Impact,'Arial Narrow',sans-serif;text-transform:uppercase}.profile-card:hover{border-color:var(--pink)}@media(max-width:820px){.profile-layout,.profile-cards{grid-template-columns:1fr}}

/* Barlow Condensed is bundled locally under SIL Open Font Licence 1.1. */
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/BarlowCondensed-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/BarlowCondensed-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/BarlowCondensed-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.eyebrow,.label,.head-note,.project-meta,.site-head nav a,.site-foot a,.studio-signature{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;letter-spacing:.13em}.studio-signature{margin-top:auto;padding-top:35px;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5em;font-size:clamp(14px,1.2vw,17px);line-height:1.3;text-transform:uppercase;color:#eeeae4;text-shadow:.35px .5px .7px rgba(255,255,255,.38),-.45px .3px .8px rgba(255,255,255,.25)}.studio-signature>span:first-child{font-weight:400;color:var(--soft);margin-right:1.3em}.studio-signature>span:nth-of-type(2),.studio-signature>span:nth-of-type(4){font-weight:700}.studio-signature>span:nth-of-type(3),.studio-signature>span:nth-of-type(5){font-weight:400}.studio-signature i{font-style:normal;color:var(--pink);font-weight:500}.studio-signature .signature-human{font-weight:600;margin-left:1.5em;white-space:nowrap;color:var(--white)}@media(max-width:600px){.studio-signature{font-size:14px}.studio-signature .signature-human{margin-left:0;flex-basis:100%;margin-top:5px}}

.brand img{width:auto;max-width:190px;max-height:62px;object-fit:contain;flex-shrink:0}.brand img[src$="mark.svg"]{width:46px;height:46px}.admin-logo-preview{display:block;max-width:250px;max-height:110px;object-fit:contain;margin:10px 0 22px}.quote-sheet .brand.custom-logo img{max-height:72px;max-width:240px}@media(max-width:600px){.brand img{max-width:125px;max-height:46px}}

.quote-sheet .brand.custom-logo{display:inline-flex;background:#111;color:#fff;padding:12px;print-color-adjust:exact;-webkit-print-color-adjust:exact}

/* Restore the original three-line hero and show the right edge of the artwork. */
.hero{grid-template-columns:49% 51%}
.hero-copy{z-index:2}
.hero h1{max-width:none;width:calc(100% + 150px);font-size:clamp(62px,5.55vw,108px);line-height:.93;letter-spacing:-.02em;margin:18px 0 20px;position:relative;z-index:2}
.hero-art{z-index:1;background-position:right center}
.hero-art:after{content:'ARTWORK / FOR A LOUDER TOMORROW';position:absolute;inset:auto clamp(13px,2vw,28px) 15% auto;width:100px;background:transparent;white-space:normal;pointer-events:none;font:600 11px/1.6 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.13em;color:var(--white);text-shadow:0 0 3px #080909}
.service-band p{font-size:clamp(15px,1.15vw,20px);justify-content:space-between}
.service-band p > span + span:before{padding-right:clamp(7px,1.3vw,20px)}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero h1{width:100%;font-size:clamp(60px,10vw,93px)}.hero-art{min-height:430px}.service-band p{font-size:18px}}
@media(max-width:600px){.hero h1{font-size:clamp(52px,12vw,75px);line-height:.94}.hero-art{min-height:340px}.hero-art:after{right:10px;width:80px;font-size:10px;bottom:12%}.service-band p{font-size:16px;justify-content:flex-start}}

.profile-photo{margin:38px 0 0;padding:10px;border:1px solid var(--line);background:#111313;max-width:360px}.profile-photo img{display:block;width:100%;height:auto}.profile-aside .profile-photo{margin-top:38px}@media(max-width:820px){.profile-photo{max-width:320px}}

.profile-edit-link{display:block;margin-top:16px;color:var(--soft);font:600 12px 'Barlow Condensed',Arial,sans-serif;letter-spacing:.12em;text-decoration:none}.profile-edit-link:hover{color:var(--pink)}

/* One left edge for the homepage text callouts, at every viewport width. */
.home-page,.site-foot{--home-gutter:clamp(20px,5vw,70px)}
.home-page .hero{position:relative}
.home-page .hero .tagline{font-size:clamp(17px,1.55vw,23px);letter-spacing:.16em}
.home-page .hero-art:after{content:none}
.home-page .art-caption{position:absolute;left:var(--home-gutter);bottom:22px;z-index:3;max-width:220px;font:600 14px/1.4 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.13em;text-shadow:0 1px 4px #080909}
.home-page .service-band{grid-template-columns:1fr;gap:12px}
.home-page .service-band p{justify-content:flex-start;gap:8px 14px}
.home-page .service-band p a{text-decoration:none;border-bottom:1px solid rgba(238,10,88,.6);padding-bottom:2px}
.home-page .service-band p a:hover,.home-page .service-band p a:focus-visible{color:var(--pink);border-bottom-color:var(--pink)}
.home-page .service-band .tiny{display:block;font-size:14px;line-height:1.35;margin-top:15px}
.home-page .section-title{display:block}
.home-page .section-title a{display:block;width:max-content;margin-top:12px}
body:has(.home-page) .site-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
body:has(.home-page) .site-foot>span:last-child{grid-column:1/-1;grid-row:1;font-size:22px}
body:has(.home-page) .site-foot>span:last-child a{font-size:16px}
@media(max-width:820px){body:has(.home-page) .site-foot{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-page .hero-copy{padding-bottom:90px}.home-page .art-caption{bottom:20px}.home-page .service-band p > span + span:before{padding-right:8px}body:has(.home-page) .site-foot{grid-template-columns:1fr}}

/* Shared right-hand text rail on the desktop homepage. */
@media (min-width:821px){
  .site-head,.home-page{--home-gutter:clamp(20px,5vw,70px);--home-rail-width:155px}
  body:has(.home-page) .site-head .head-note{flex:0 0 var(--home-rail-width)}
  .home-page .art-caption{left:auto;right:var(--home-gutter);width:var(--home-rail-width);max-width:none}
  .home-page .service-band{grid-template-columns:135px minmax(0,1fr) var(--home-rail-width);gap:20px}
  .home-page .service-band .tiny{grid-column:3;margin-top:0}
  .home-page .section-title{display:flex;align-items:baseline;justify-content:space-between}
  .home-page .section-title a{width:var(--home-rail-width);margin-top:0}
}
.home-page .hero .tagline{font-size:var(--home-tagline-size,18px)}
.home-tagline-size{display:flex;align-items:center;gap:14px;max-width:520px}
.home-tagline-size input[type=range]{flex:1;width:auto;accent-color:var(--pink)}
.home-tagline-size output{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}
.home-page .service-band p{font-size:clamp(14px,1.05vw,17px)}

/* Slight printing irregularities in the studio signature, with fixed letter patterns. */
.studio-signature span span{display:inline-block}
.studio-signature .rough-blur{filter:none;opacity:1;text-shadow:0 0 .38px currentColor}
.studio-signature .rough-bold{font-weight:700;text-shadow:.2px 0 currentColor}
.studio-signature .rough-soft{font-weight:400;opacity:.9}

/* The same restrained print variation across home copy and the global chrome. */
.rough-word{display:inline-block;white-space:nowrap}
.rough-word>span{display:inline-block}
.rough-word>.rough-blur{filter:none;opacity:1;text-shadow:0 0 .38px currentColor}
.rough-word>.rough-bold{font-weight:inherit;text-shadow:.24px 0 currentColor,-.08px 0 currentColor}
.rough-word>.rough-soft{opacity:.94}
.home-page .service-band p a,.home-page .service-band p a:hover,.home-page .service-band p a:focus-visible{border-bottom:0;text-decoration:none;padding-bottom:0}
@keyframes service-glitch{0%,100%{transform:translateX(0);text-shadow:none}20%{transform:translateX(1px);text-shadow:-1px 0 rgba(238,10,88,.8),1px 0 rgba(180,220,220,.65)}42%{transform:translateX(-1px);text-shadow:1px 0 rgba(238,10,88,.75),-1px 0 rgba(180,220,220,.65)}65%{transform:translateX(0);text-shadow:-.7px 0 rgba(238,10,88,.6)}}



/* Each service line glitches independently on hover. */
.home-page .service-band .service-line{position:relative;display:block;width:max-content;max-width:100%;cursor:default}
.home-page .service-band .service-line:hover{animation:service-glitch .45s steps(2,end) 1}
.home-page .service-band .service-line::before,.home-page .service-band .service-line::after{content:"";position:absolute;left:5%;height:2px;width:0;pointer-events:none;opacity:0;background:var(--pink);z-index:2}
.home-page .service-band .service-line::before{top:32%}
.home-page .service-band .service-line::after{top:76%;left:37%;background:#c3dfdb}
.home-page .service-band .service-line:hover::before{animation:glitch-streak .45s steps(2,end) 1}
.home-page .service-band .service-line:hover::after{animation:glitch-streak .45s steps(2,end) .06s 1}
@keyframes glitch-streak{0%,100%{width:0;opacity:0}25%{width:54%;opacity:.9}48%{width:11%;opacity:.5}70%{width:42%;opacity:.85}}
@media(prefers-reduced-motion:reduce){.home-page .service-band .service-line:hover,.home-page .service-band .service-line:hover::before,.home-page .service-band .service-line:hover::after{animation:none}.home-page .service-band .service-line:hover{text-shadow:1px 0 var(--pink)}}

.quote-sheet th:last-child{text-align:right}
.quote-line label{min-width:0}
.quote-line label>span{font-size:12px;letter-spacing:.08em;color:var(--soft);text-transform:uppercase}
.quote-line label input{margin-top:5px}

/* Project terms stay clear and easy to read, even where the site chrome has texture. */
.site-foot .footer-legal{display:block;margin-top:13px;line-height:1.2}
.site-foot .footer-legal a,body:has(.home-page) .site-foot .footer-legal a{font:400 11px/1.3 'Helvetica Neue',Arial,sans-serif;letter-spacing:.03em;color:var(--soft);text-decoration:none;border:0;padding:0}
.site-foot .footer-legal a:hover,.site-foot .footer-legal a:focus-visible{color:var(--white);text-decoration:underline}
.legal-article{max-width:860px;margin:0 auto;padding:34px clamp(20px,5vw,70px) 90px;font:16px/1.7 'Helvetica Neue',Arial,sans-serif}
.legal-article .legal-intro{font-size:18px;color:var(--white)}
.legal-article section{border-top:1px solid var(--line);padding:23px 0 15px}
.legal-article h2{font:700 20px/1.25 'Helvetica Neue',Arial,sans-serif;margin:0 0 16px;color:var(--white)}
.legal-article p{margin:0 0 18px;color:#d3d3cf}
.legal-article a{text-underline-offset:3px}
.legal-article .legal-date{font-size:12px;color:var(--soft);border-top:1px solid var(--line);padding-top:18px}
@media(max-width:600px){.legal-article{padding-bottom:50px}}

.quote-validation{color:#171819;font-weight:700;margin:0 0 18px;padding:13px 16px;border:0;border-left:6px solid var(--pink);background:#e8e7e3;box-shadow:0 4px 14px rgba(0,0,0,.22)}

/* A brief, low contrast interference pass behind the page content. */
body:not(.admin-body)::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0;background:linear-gradient(transparent 0 22%,rgba(238,10,88,.035) 22.15% 22.25%,transparent 22.4% 49%,rgba(210,232,229,.045) 49.15% 49.25%,transparent 49.4% 73%,rgba(255,255,255,.025) 73.1% 73.2%,transparent 73.4%);animation:background-interference 23s steps(1,end) infinite}
@keyframes background-interference{0%,78%,80%,81%,83%,100%{opacity:0;transform:translate(0,0)}79%{opacity:.65;transform:translateY(-3px)}79.3%{opacity:.32;transform:translateY(2px)}82%{opacity:.5;transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){body:not(.admin-body)::after{animation:none}}
.acknowledgement{display:flex;align-items:flex-start;width:100%;margin:9px 0;line-height:1.45}
.acknowledgement input{flex:0 0 auto;margin-top:.25em}
.acknowledgement>span{display:block;margin:0;min-width:0}

/* Keep the grain behind artwork instead of painting it over every image. */
body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.08' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(90deg,transparent 98%,rgba(255,255,255,.018) 100%);background-size:150px 150px,5px 5px}
body:before,body:not(.admin-body)::after{display:none}
body:not(.admin-body){animation:background-grain-shift 23s steps(1,end) infinite}
@keyframes background-grain-shift{0%,78%,80%,81%,83%,100%{background-position:0 0,0 0}79%{background-position:3px -2px,0 0}82%{background-position:-2px 3px,0 0}}
@media(prefers-reduced-motion:reduce){body:not(.admin-body){animation:none}}
@media print{body{background-image:none!important}}
