/* Reve(a)l Productions - static site styles */
@font-face{font-family:"Montserrat Alternates";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/montserrat-alternates-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat Alternates";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/montserrat-alternates-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat Alternates";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/montserrat-alternates-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"PT Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/pt-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"PT Sans";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/pt-sans-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"PT Sans";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/pt-sans-latin-700-normal.woff2) format("woff2")}

:root{
  --red:#e10707;
  --heading:#e30613;
  --ink:#747474;          /* matches the live site; darker for easier reading: #4d4d4d */
  --body-size:14px;       /* matches the live site; larger for easier reading: 16px */
  --body-lh:21px;         /* use 26px with 16px text */
  --ink-soft:#666;
  --line:#e3e3e3;
  --bg:#fff;
  --bg-soft:#f6f6f6;
  --footer:#282a2b;
  --wrap:1140px;
  --head-font:"Montserrat Alternates","Trebuchet MS",sans-serif;
  --body-font:"PT Sans",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--body-size)/var(--body-lh) var(--body-font)}
img,video,iframe{max-width:100%;height:auto}
a{color:#333;text-decoration-color:rgba(200,16,27,.5);text-underline-offset:2px}
a:hover,a:focus{color:var(--heading)}
:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6em 1em;z-index:1000}
.skip:focus{left:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}

h1,h2,h3,h4{font-family:var(--head-font);color:var(--heading);font-weight:400;line-height:1.5}
h1{font-size:34px;line-height:1.4;margin:0 0 22px}
h2{font-size:24px;margin:0 0 26px}
h3{font-size:16px;margin:0 0 16px}
h4{font-size:13px;margin:17px 0}
p{margin:0 0 20px}

/* top bar */
.topbar{background:var(--red);color:#fff;font-size:12px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:45px;gap:12px}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover,.topbar a:focus{text-decoration:underline;color:#fff}
.social{display:flex;gap:16px;align-items:center}
.social a{display:inline-flex;width:22px;height:22px}
.social svg{width:100%;height:100%;fill:#fff}
.topbar .mail span{opacity:.8;margin:0 6px}

/* header + nav */
.site-header{background:#fff;text-align:center;padding:10px 0 11px;line-height:0}
.site-header .logo{display:inline-block;line-height:0}
.site-header .logo img{width:210px;height:100px}
.nav-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.nav-toggle{display:none}
.menu{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.menu>li{position:relative}
.menu a{display:block;padding:13px 22px 12px;font:400 14px/1 var(--head-font);color:#333;text-decoration:none;border-top:3px solid transparent;margin-top:-1px}
.menu a:hover,.menu a:focus{color:var(--red)}
.menu .current>a,.menu a[aria-current="page"]{color:var(--red);border-top-color:var(--red)}
.menu .sub{list-style:none;margin:0;padding:6px 0;position:absolute;left:0;top:100%;min-width:290px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 8px 18px rgba(0,0,0,.1);display:none;text-align:left}
.menu li:hover>.sub,.menu li:focus-within>.sub{display:block}
.menu .sub a{border:0;margin:0;padding:11px 18px;font-size:14px;line-height:1.25}
.menu .sub a:hover,.menu .sub a:focus{background:var(--bg-soft)}

/* main */
main{display:block;padding:44px 0 60px}
.hero+main{padding-top:34px}
.page-title{text-align:left;margin-bottom:1em}
.rule-title{display:flex;align-items:center;gap:22px;margin:0 0 28px;text-align:center}
.rule-title::before,.rule-title::after{content:"";flex:1;height:7px;border-top:1px solid #e9b4b4;border-bottom:1px solid #e9b4b4;opacity:.9}
.rule-title span{font:400 34px/1.4 var(--head-font);color:var(--heading)}
.section-title{display:flex;align-items:flex-end;gap:20px;margin:40px 0 22px}
.section-title::after{content:"";flex:1;height:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:.6em}
.section-title h2{margin:0}
.center{text-align:center}
.lead{font-size:inherit}
.two-col{display:grid;grid-template-columns:3fr 1fr;gap:44px;align-items:start}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.divider{border:0;border-top:1px solid var(--line);margin:34px 0}
.note{font-style:italic;color:var(--ink-soft)}
blockquote{margin:0 0 1.2em;padding:0 0 0 20px;border-left:3px solid var(--red)}
blockquote p{margin-bottom:.6em}
cite,.attrib{display:block;font-style:normal;font-size:.95rem;color:var(--ink-soft)}
.attrib strong{color:#333}

/* hero */
.hero{background:#fff;overflow:hidden}
.hero video{display:block;width:calc(100% + 2px);max-width:none;margin-left:-1px;aspect-ratio:16/5;max-height:600px;min-height:130px;object-fit:cover;background:#fff}

/* logos */
.logos{display:flex;flex-wrap:wrap;gap:20px 34px;align-items:center;margin:20px 0 10px}
.logos img{max-height:150px;width:auto;object-fit:contain}
.logos .ace{max-height:110px}
.carousel{position:relative;margin:30px 0 10px}
.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 0;align-items:center}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track li{list-style:none;flex:0 0 calc((100% - 48px)/5);scroll-snap-align:start;display:flex;align-items:center;justify-content:center;height:210px}
.carousel-track img{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.carousel button{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:38px;border:0;background:rgba(40,42,43,.72);color:#fff;cursor:pointer;font-size:18px}
.carousel button:hover,.carousel button:focus-visible{background:var(--red)}
.carousel .prev{left:0}.carousel .next{right:0}
.carousel ul{margin:0;padding:0}

/* videos */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 44px}
.video-card figcaption{margin-top:8px;font-size:.95rem;color:var(--ink-soft)}
.video-card{margin:0}
.video{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}
.video button.play{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:block;color:#fff}
.video button.play:focus-visible{outline:3px solid #1a73e8;outline-offset:-3px}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .2s,transform .3s}
.video button.play:hover img{opacity:1;transform:scale(1.02)}
.video .vtitle{position:absolute;left:0;right:0;top:0;padding:14px 16px 28px;font:600 1rem/1.3 var(--head-font);background:linear-gradient(rgba(0,0,0,.65),transparent);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.video .ico{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;background:rgba(225,7,7,.92);border-radius:12px;transition:background .2s}
.video .ico::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}
.video button.play:hover .ico{background:#ff1a1a}
.video.nothumb{background:linear-gradient(135deg,#5b0a10,#c8101b)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-note{margin-top:30px}

/* projects */
.project{padding:6px 0 0}
.project h2{margin-top:0}
.project h3.year{font-size:1.3rem;color:#999;margin:36px 0 10px}
.photo-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:20px 0 26px}
.photo-row img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--bg-soft)}
.photo-row.tall img{aspect-ratio:3/4}
.photo-row a{display:block}
.fig{margin:0 0 20px}
.fig img{display:block;width:100%;height:auto}
.fig figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:6px}
.partner-logo{max-width:180px;height:auto;margin:6px 0 14px}
audio{width:100%;max-width:520px;margin:10px 0 20px}
.quote-block{background:var(--bg-soft);border-left:4px solid var(--red);padding:18px 22px;margin:0 0 22px}
.quote-block p:last-child{margin-bottom:0}
.quote-list p{margin-bottom:.9em}


/* gallery */
.gallery-section{margin-bottom:46px}
.masonry{columns:3 280px;column-gap:10px}
.masonry a{display:block;margin:0 0 10px;break-inside:avoid;background:var(--bg-soft);line-height:0;overflow:hidden}
.masonry img{width:100%;height:auto;display:block;transition:transform .35s,opacity .25s}
.masonry a:hover img,.masonry a:focus-visible img{transform:scale(1.03);opacity:.92}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:2000;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;width:48px;height:48px;cursor:pointer;border-radius:50%}
.lightbox button:hover,.lightbox button:focus-visible{background:var(--red)}
.lightbox .close{top:16px;right:16px}
.lightbox .lb-prev{left:16px;top:50%;margin-top:-24px}
.lightbox .lb-next{right:16px;top:50%;margin-top:-24px}
.lightbox .count{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ddd;font-size:14px}

/* team / about */


/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.form label{display:block;margin:0 0 5px;font-size:12px;color:var(--ink)}
.form .field{margin-bottom:18px}
.form input[type=text],.form input[type=email],.form textarea{width:100%;font:inherit;color:#222;padding:6px 10px;border:1px solid #d2d2d2;background:#fff;border-radius:0}
.form input:focus,.form textarea:focus{border-color:var(--red);outline:2px solid rgba(225,7,7,.25)}
.form textarea{min-height:120px;resize:vertical}
.form .check{display:flex;gap:10px;align-items:flex-start;font-size:12px}
.form .check input{margin-top:5px;flex:none}
.form .check label{margin:0}
.form .req{font-size:12px;color:var(--ink-soft)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-block;background:var(--red);color:#fff;border:0;font:500 15px var(--head-font);padding:13px 30px;cursor:pointer;border-radius:2px}
.btn:hover,.btn:focus-visible{background:#b80505;color:#fff}
.alert{padding:14px 18px;margin:0 0 22px;border-radius:2px;display:none}
.alert.show{display:block}
.alert.ok{background:#e9f6ec;border:1px solid #9ad0a6;color:#1d5a2b}
.alert.err{background:#fdeceb;border:1px solid #e6a4a0;color:#8a1c14}

/* footer */
.site-footer{background:var(--footer);color:#fff;font-size:12px;padding:17px 0;border-top:1px solid #3a3d3e}
.site-footer .wrap{min-height:38px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.site-footer a{color:#fff}
.site-footer a:hover,.site-footer a:focus{color:#fff}
.site-footer .social svg{fill:#e8e8e8}
.site-footer .social a:hover svg{fill:#fff}
.to-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border:0;background:rgba(40,42,43,.85);color:#fff;font-size:20px;cursor:pointer;display:none;z-index:60;border-radius:2px}
.to-top.show{display:block}
.to-top:hover{background:var(--red)}

/* responsive */
@media (max-width:900px){
  .two-col,.contact-grid{grid-template-columns:1fr;gap:30px}
  .carousel-track li{flex-basis:calc((100% - 24px)/3)}
  h1{font-size:1.8rem}
}
@media (max-width:720px){
  .nav-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;background:#fff;border:0;font:500 15px var(--head-font);color:#333;cursor:pointer}
  .nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:22px;height:2px;background:#333;position:relative}
  .nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0}
  .nav-toggle .bars::before{top:-7px}.nav-toggle .bars::after{top:7px}
  .menu{display:none;flex-direction:column;border-top:1px solid var(--line)}
  .menu.open{display:flex}
  .menu a{padding:14px 20px;border-top:0;margin:0;border-left:3px solid transparent;border-bottom:1px solid var(--line)}
  .menu .current>a,.menu a[aria-current="page"]{border-left-color:var(--red)}
  .menu .sub{display:block;position:static;box-shadow:none;border:0;min-width:0;padding:0;background:var(--bg-soft)}
  .menu .sub a{padding-left:38px}
  .nav-bar{position:static}
  .cols-2,.video-grid{grid-template-columns:1fr}
  .carousel-track li{flex-basis:calc((100% - 12px)/2);height:150px}
  .topbar .wrap{flex-direction:column;padding-top:8px;padding-bottom:8px;gap:6px}
  .site-header .logo img{width:170px;height:auto}
  .rule-title span{font-size:1.4rem}
  .rule-title{gap:12px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,.nav-bar,.site-footer,.to-top,.hero,.lightbox{display:none!important}}
.contact-social svg{fill:var(--red)}
.contact-social a{width:30px;height:30px}

.photo-row.natural{align-items:start}
.photo-row.natural img{aspect-ratio:auto;height:auto}

/* ---- page layouts that match the live site ---- */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin:0 0 20px;align-items:start}
.note-red{color:var(--red);font-size:12px;line-height:17px;margin:0 0 25px}
.fullimg img{display:block;width:100%;height:auto}
.float-r{float:right;margin:0 0 15px 15px;max-width:45%;height:auto}
.clear-r{clear:right}
.em-red{color:var(--red)}
.practice-list{margin:0 0 20px;padding-left:40px}
.two-tone .dark{color:#000}
.team-name{font:400 13px/19.5px var(--head-font);color:var(--heading);margin:17px 0}
.team-name b{font-weight:700}
.team-name i{font-style:italic}
.cv-cols{display:grid;grid-template-columns:704fr 352fr;gap:44px;align-items:start;clear:both;margin-top:40px}
.cv-h2{margin-top:0}
.cv h2.cv-h2:not(:first-child){margin-top:40px}

/* testimonials */
.mask-rule{display:flex;align-items:center;gap:14px;margin:26px 0 14px}
.mask-rule::before,.mask-rule::after{content:"";flex:1;height:7px;border-top:1px solid var(--red);border-bottom:1px solid var(--red)}
.mask-rule img{width:24px;height:24px;display:block}
.testi-group h2{font-size:18px;text-align:center;margin:0 0 22px}
.testi-cols{column-count:2;column-gap:44px}
.testi{margin:0 0 20px;break-inside:avoid}
.testi-q{position:relative;margin:0;padding:17.5px 21px;border:0;background:#f6f6f6;font-style:italic;font-size:16px;line-height:24px}
.testi-q p{margin:0 0 .8em}
.testi-q p:last-child{margin:0}
.testi-q::after{content:"";position:absolute;left:55px;bottom:-10px;border:10px solid transparent;border-top-color:#f6f6f6;border-bottom:0}
.testi-by{display:flex;align-items:center;gap:15px;padding:14px 0 0;font-size:16px;line-height:24px;color:var(--ink)}
.testi-by img{width:40px;height:40px;flex:none}
.testi-by strong{font-weight:700}

@media (max-width:900px){
  .cols-3,.cv-cols{grid-template-columns:1fr;gap:10px}
  .testi-cols{column-count:1}
  .float-r{max-width:38%}
}


/* ---- projects page: match live (Raleway 15px body, grey quote cards) ---- */
@font-face{font-family:"Raleway";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/raleway-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Raleway";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/raleway-latin-600-normal.woff2) format("woff2")}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.project p,.project .note{font:400 15px/25.8px "Raleway",var(--body-font);color:#333;margin:0 0 20px}
.project .note{font-style:italic}
.project em,.project .said{font-style:italic}
.project p.said{color:var(--heading);font-weight:600;font-style:normal}
#problem-child h2,#problem-child .lead{text-align:center}
#problem-child .lead{margin:0 0 22px}
#problem-child .lead,#problem-child .lead strong{color:var(--heading);font-weight:400}
.project h3{font:600 15px/25.8px "Raleway",var(--body-font);color:#333;text-align:left;margin:0 0 4px}
h3.year{font:400 34px/1.4 var(--head-font);color:var(--heading);text-decoration:underline;margin:34px 0 22px}
.project blockquote{background:#f6f6f6;border-left:4px solid var(--heading);padding:15px;margin:28px 0}
.project blockquote p{font:italic 400 14px/21px var(--body-font);color:#747474;margin:0 0 10px}
.project blockquote p:last-child{margin-bottom:0}
.project>cite,.project cite{display:block;text-align:right;font:400 14px/21px var(--body-font);color:#333;margin:-14px 0 28px}
.project .quote-list p{margin-bottom:10px}
.pc,.pc-pair a{display:block;width:300px;max-width:100%}
.pc img{display:block;width:100%;height:auto}
.pc-center{display:flex;justify-content:center;margin:0 0 22px}
#problem-child>.pc{margin:0 0 22px}
.pc-pair{display:flex;flex-wrap:wrap;gap:15px;margin:0 0 20px;align-items:flex-start}
.pc-stack .fig{width:300px;max-width:100%;margin:0 0 20px}
.pc-stack .fig figcaption{font:400 14px/21px var(--body-font);color:#333}
#mind-over-matter .fig{float:right;width:300px;max-width:50%;margin:0 0 14px 30px}
#mind-over-matter blockquote{clear:both}
.project hr.divider,.divider{border-top:1px solid #d2d2d2;margin:34px 0}

/* projects: live-site photo and video sizes */
.photo-row.slider{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;margin:20px 0 26px;padding-bottom:4px}
.photo-row.slider a{flex:0 0 calc((100% - 12px)/3);scroll-snap-align:start}
.photo-row.slider img{width:100%;height:245px;aspect-ratio:auto;object-fit:cover}
.split{display:grid;grid-template-columns:1fr 528px;gap:25px;align-items:start;margin:0 0 20px}
.v600{max-width:600px;margin:0 auto 22px}
.vg32 .video{aspect-ratio:3/2;padding-bottom:0;height:auto}
.vg32 .video button.play{position:absolute;inset:0}
#heartbeat .fig{width:275px;max-width:100%;margin-left:auto}
#pattern-up-2020 .two-col{grid-template-columns:230px 1fr!important}
#pattern-up-2020 .two-col>div:last-child{order:-1}
#somerset-charabanc-2019 .two-col{grid-template-columns:1fr 211px!important}
#somerset-charabanc-2019 .fig{width:211px;margin-left:auto}
#chara-bike .two-col{grid-template-columns:300px 1fr!important}
#chara-bike .two-col>div:last-child{order:-1}
#the-saviour .partner-logo{display:block;max-width:169px;margin:0 0 14px auto}
.photo-row.pu-people{display:flex;gap:97px;justify-content:center}
.photo-row.pu-people .fig{width:200px;margin:0}
.photo-row.pu-people img{width:200px;height:300px;aspect-ratio:auto;object-fit:cover}
@media(max-width:900px){.split{grid-template-columns:1fr}.photo-row.slider a{flex-basis:80%}.photo-row.pu-people{gap:20px}#pattern-up-2020 .two-col,#somerset-charabanc-2019 .two-col,#chara-bike .two-col{grid-template-columns:1fr!important}}

/* home: funder logos laid out like live (3 columns, two stacked on the left) */
.home-h1{margin-bottom:44px}
.logos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:start;margin:20px 0 10px}
.logos img{width:100%;max-height:none;height:auto}
.logos img:nth-child(2){grid-column:2;grid-row:1/3}
.logos img:nth-child(3){grid-column:3;grid-row:1/3;width:320px;max-width:100%}
.logos img:nth-child(4){grid-column:1;grid-row:2}
@media(max-width:700px){.logos{grid-template-columns:1fr 1fr}.logos img:nth-child(n){grid-column:auto;grid-row:auto;width:100%}}
.home-h1{margin-bottom:58px}
.logos+.section-title{margin-top:-11px}
.carousel{margin-top:83px}
.carousel .carousel-track{padding:0}
.carousel-track li{height:272px}
@media(max-width:900px){.carousel{margin-top:40px}.carousel-track li{height:210px}}
@media(max-width:520px){.carousel-track li{height:150px}}

/* gallery: live-style masonry (shortest column first) and red heading rules */
.masonry{display:flex;gap:10px;align-items:flex-start;columns:auto}
.mcol{flex:1 1 0;min-width:0}
.rule-title{margin:0 0 63px}
.rule-title span{font-size:24px;line-height:1.5}
.rule-title::before,.rule-title::after{height:0;border-top:1px solid #f44336;border-bottom:0;opacity:1}
.gallery-section{margin-bottom:40px}
@media(max-width:700px){.masonry{display:block;columns:2;column-gap:10px}.mcol{display:contents}.rule-title{margin-bottom:24px}}

/* testimonials: live layout (Apples left, Mind Over Matter + Heartbeat right) */
.testi-2col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.testi-2col .testi-cols{column-count:1}
.testi-2col .testi-group h2{margin-top:0}
@media(max-width:900px){.testi-2col{grid-template-columns:1fr}}
.testi-q{font-size:14px;line-height:21px;padding:15px 21px}
.testi-by{font-size:14px;line-height:21px}
.testi{margin-bottom:14px}
.testi-by{padding-top:10px}
/* contact form: sizes match live (29px inputs, 90px pitch, 43px button) */
.form input[type=text],.form input[type=email]{height:29px;padding:3px 10px;line-height:21px}
.form .field{margin-bottom:36px}
.form textarea{min-height:150px}
.form .btn{height:43px;min-width:92px;padding:0 20px;font-size:13px;text-transform:uppercase}
.form .field:has(textarea){margin-bottom:15px}
.form .field:has(input[name=check]){margin-bottom:20px}

/* cookie consent banner (live build with analytics only) */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding:16px 20px;background:#fff;color:#333;border-top:3px solid #e10707;box-shadow:0 -2px 12px rgba(0,0,0,.15);font-size:15px;line-height:1.5}
.cookie-banner.show{display:flex}
.cookie-banner p{margin:0;max-width:760px}
.cookie-banner a{color:#e10707;text-decoration:underline}
.cb-btns{display:flex;gap:10px}
.cookie-banner button{font:inherit;cursor:pointer;padding:9px 22px;border:2px solid #e10707;border-radius:0;background:#fff;color:#e10707}
.cookie-banner button.cb-accept{background:#e10707;color:#fff}
.cookie-banner button:focus-visible{outline:3px solid #333;outline-offset:2px}
.imag-cookie{margin:8px 0 0;font-size:13px}
.imag-cookie a{color:inherit}
