/*
Theme Name: Brenquist Engine
Theme URI: https://brenquistengine.com/
Author: Brenquist Engine
Description: AI automation services, project requests and legal pages for Brenquist Engine.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: brenquist-engine
*/

@font-face{font-family:Space Grotesk;src:url(assets/fonts/space-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root {
    color-scheme: dark;
    --base: #0b1026;
    --surface: #101834;
    --ink: #f5f6ff;
    --muted: #b6c0d9;
    --accent: #80e8ff;
    --pink: #ff99d3;
    --line: #a8bef134;
    --display: "Space Grotesk", sans-serif;
    --body: "Manrope", sans-serif;
    --edge: clamp(19px, 5vw, 72px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--base);color:var(--ink);font:500 16px/1.65 var(--body)}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:700;line-height:1.08;text-wrap:balance}
ul,ol{padding:0;margin:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:#90e8fc;color:#081123}
[id]{scroll-margin-top:108px}
.shell{width:min(100% - var(--edge)*2, 1192px);margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:16px;left:16px;padding:12px 18px;transform:translateY(-160%);border-radius:8px;background:var(--accent);color:#071326}
.skip-link:focus{transform:translateY(0)}

.site-header{position:fixed;top:0;left:0;right:0;z-index:10;padding-top:16px;transition:padding .28s ease,background .28s ease}
.header-rail{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;padding:8px 10px 8px 13px;border:1px solid #e8ecff25;border-radius:17px;background:linear-gradient(112deg,#10162edb,#0e172dc9 55%,#20172dd4);box-shadow:0 10px 36px #04051228;backdrop-filter:blur(17px)}
.site-header.scrolled{padding-top:8px}
.site-header.scrolled .header-rail{background:#0d142ded;border-color:#b3ccff49}
.admin-bar .site-header{top:32px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;font:700 18px/.95 var(--display);letter-spacing:.025em}
.brand img{width:38px;height:38px;object-fit:contain}
.brand-secondary{display:block;margin-top:4px;font-size:10px;letter-spacing:.27em;color:#a3d9ef}
.primary-nav{display:flex;align-items:center;gap:clamp(5px,1.05vw,16px)}
.primary-nav a{display:inline-flex;align-items:center;gap:9px;position:relative;padding:10px 8px;color:#e1e5f5;font:700 13px/1.2 var(--body);transition:color .2s ease}
.primary-nav a:hover,.primary-nav a[aria-current]{color:var(--accent)}
.primary-nav a[aria-current]::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.primary-nav a:last-child{padding:12px 14px;border:1px solid #96e6fc4d;border-radius:10px;color:#e6faff;background:#6bbbe51a}
.primary-nav a:last-child[aria-current]::after{display:none}
.menu-toggle{display:none}
.arrow{position:relative;display:inline-block;width:13px;height:13px;flex:0 0 13px;color:inherit;transition:transform .2s ease}
.arrow::before{content:"";position:absolute;right:1px;top:2px;width:7px;height:7px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor}
.arrow::after{content:"";position:absolute;top:7px;right:1px;width:12px;height:1.6px;background:currentColor;transform:rotate(-45deg);transform-origin:70% 50%}
a:hover>.arrow,button:hover>.arrow{transform:translate(2px,-2px)}

.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(660px,55vw,860px);padding:148px 0 82px;background:#090d1d}
.hero-media,.hero-media img,.hero::after,.hero-edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-media{z-index:-3}
.hero-media img{object-fit:cover;object-position:center 42%}
.hero::after{content:"";z-index:-2;background:linear-gradient(90deg,#080d1ef2 0%,#0a0e20cc 24%,#0a0f246e 45%,transparent 70%),linear-gradient(0deg,var(--base) 0%,#0b102685 13%,transparent 42%),linear-gradient(180deg,#0b102638,transparent 23%)}
.hero-edge{top:auto;height:1px;background:linear-gradient(90deg,transparent,#609bcb3d,#e68bbc33,transparent)}
.hero-content{animation:hero-arrive .85s cubic-bezier(.2,.65,.25,1) both}
.hero-kicker{margin-bottom:22px}
.eyebrow{display:flex;align-items:center;gap:10px;color:#dce7fb;font:600 11px/1.4 var(--display);letter-spacing:.14em;text-transform:uppercase}
.eyebrow>span:not(.signal){color:var(--accent);font-variant-numeric:tabular-nums}
.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:#81eaff;box-shadow:0 0 12px 2px #49d6fb78;flex:0 0 7px}
.hero h1{max-width:10ch;font-size:clamp(57px,7.25vw,111px);line-height:.97;letter-spacing:-.078em;text-wrap:initial;text-shadow:0 5px 38px #080c1a6c}
.hero h1 em{font-style:normal;color:#a4eafa;background:linear-gradient(112deg,#e7f9ff 0%,#9fe8ff 43%,#f4add7 100%);background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy{max-width:405px;margin-top:27px;color:#d4ddf2;font-size:clamp(15px,1.4vw,19px)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.button{--shift-x:0px;--shift-y:0px;--pointer-x:40%;display:inline-flex;justify-content:center;align-items:center;gap:12px;position:relative;min-height:48px;padding:11px 17px;border:1px solid transparent;border-radius:9px;font:700 13px/1.25 var(--body);text-align:center;transform:translate(var(--shift-x),var(--shift-y));transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease}
.button-primary{color:#101129;background:radial-gradient(ellipse at var(--pointer-x) 0%,#fbe5ffb5,transparent 67%),linear-gradient(106deg,#ffc0a9,#ff99d5 74%,#dcb4ff);box-shadow:0 8px 27px #f182d228}
.button-primary:hover{box-shadow:0 10px 34px #f182d24b}
.button-quiet{color:#eef5ff;border-color:#c3d4fa43;background:#0d162856}
.button-quiet:hover,.button-small:hover{border-color:#8cdbf9;color:#ebfbff;background:#244264}
.button-small{min-height:40px;padding:8px 12px;color:#dff4ff;border-color:#a2cbed54;background:#122038}
.button:disabled{cursor:progress;opacity:.66}

.services-section{padding-block:94px 89px}
.section-lead{display:flex;justify-content:space-between;align-items:end;gap:clamp(24px,6vw,96px);margin-bottom:40px}
.section-lead h2,.approach h2,.about h2,.contact h2,.reviews h2{margin-top:13px;font-size:clamp(35px,5.1vw,69px);letter-spacing:-.064em}
.section-lead>p{max-width:365px;color:var(--muted);padding-bottom:3px}
.service-cards{display:flex;justify-content:space-between;gap:clamp(18px,3.2vw,42px);padding:12px 3px 12px 12px}
.service-card{flex:1 1 0;min-width:0;position:relative;isolation:isolate}
.service-card::before,.service-card::after{content:"";position:absolute;inset:6% 9% 3% 1%;border:1px solid #b2ccff26;border-radius:14px;background:linear-gradient(141deg,#6b55b26b,#1d76947a 45%,#152443);z-index:-1;transform:rotate(-7deg) translate(-7px,-3px);transition:transform .3s ease}
.service-card::after{inset:3% 3% 5% 5%;background:linear-gradient(140deg,#55619a85,#152443);transform:rotate(-4deg) translate(-5px,-4px)}
.service-card:hover::before{transform:rotate(-9deg) translate(-8px,-3px)}
.service-card:hover::after{transform:rotate(-6deg) translate(-7px,-4px)}
.service-card-frame{display:block;position:relative;isolation:isolate;overflow:hidden;border:1px solid #a5bff255;border-radius:14px;aspect-ratio:4/5;background:#142240}
.service-card-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08112812 30%,#0a142250 62%,#080f24 100%)}
.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-card:hover img{transform:scale(1.035)}
.card-code{position:absolute;top:14px;left:14px;z-index:1;padding:4px 8px;border:1px solid #b1e8ff61;border-radius:5px;background:#0b1724b0;color:#b9f0ff;font:600 11px/1.3 var(--display);letter-spacing:.1em}
.card-caption{position:absolute;z-index:1;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:8px;padding:clamp(13px,2vw,24px)}
.card-caption h3{font-size:clamp(18px,2.1vw,27px);letter-spacing:-.045em;text-wrap:initial}
.card-caption p{margin-top:6px;color:#e0ebfc;font-size:clamp(12px,1.05vw,14px);line-height:1.45}
.card-caption .arrow{margin:0 1px 4px 0;color:var(--accent)}
.catalog{margin-top:67px}
.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.catalog-heading h3{font-size:clamp(25px,3.2vw,39px);letter-spacing:-.05em}
.catalog-heading p{color:var(--muted);font-size:13px}
.service-group{margin-top:23px}
.service-group h4{padding:13px 15px;border-radius:8px;background:linear-gradient(90deg,#1d2c51,#141d3c 78%);font-size:16px;letter-spacing:.005em}
.service-group h4 span{margin-right:5px;color:var(--accent);font-size:12px}
.service-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 14px;border-bottom:1px solid #a8bef122;transition:background .2s ease}
.service-row:hover{background:#7ea2e00c}
.service-copy h5{font-size:17px;text-wrap:initial}
.service-copy p{color:var(--muted);font-size:13px;margin-top:4px;line-height:1.48}
.service-action{display:flex;align-items:center;justify-content:end;gap:17px;flex:none}
.service-price{color:#d6efff;font:600 14px/1.3 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}

.section-divider{border-top:1px solid #a4c5f222}
.approach{padding-block:88px;background:radial-gradient(ellipse at 16% 40%,#0b3143 0%,transparent 53%)}
.approach-inner,.about-inner{display:flex;align-items:center;gap:clamp(28px,6vw,90px)}
.approach-art,.about-art{position:relative;isolation:isolate;flex:1.06;min-width:0}
.approach-art{border-radius:16px;overflow:hidden;border:1px solid #589bd456;background:#0c1931}
.approach-art img{width:100%;aspect-ratio:1.08;object-fit:cover;object-position:39% center}
.approach-art::after{content:"";position:absolute;inset:45% 0 0;z-index:0;background:linear-gradient(transparent,#080f2480);pointer-events:none}
.art-label{display:inline-flex;align-items:center;gap:9px;position:absolute;z-index:1;bottom:16px;left:16px;padding:7px 10px;border:1px solid #9fd4f960;border-radius:6px;background:#0b142ac9;color:#e6f6ff;font:600 10px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase}
.approach-copy,.about-copy{flex:1;min-width:0}
.steps{margin-top:28px}
.steps li{display:flex;align-items:start;gap:17px;padding:16px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li>span{color:var(--accent);font:600 13px/1.55 var(--display);letter-spacing:.09em}
.steps h3{font-size:19px}
.steps p{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.54}
.about{position:relative;isolation:isolate;background:radial-gradient(ellipse at 74% 47%,#103049 0%,transparent 64%);padding-block:83px 86px}
.about-inner{flex-direction:row-reverse;gap:clamp(14px,4.2vw,62px)}
.about h2{font-size:clamp(33px,4.1vw,59px);text-wrap:initial}
.about-copy>p:not(.eyebrow){max-width:490px;margin-top:16px;color:#c5cfe4}
.about-art img{width:100%;aspect-ratio:1.14;object-fit:cover;object-position:64% center;mask-image:radial-gradient(ellipse 67% 64%,#000 47%,transparent 98%)}
.principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.principles li{padding:6px 10px;border:1px solid #86c0e048;border-radius:6px;background:#65aeff12;color:#d7e8fa;font:600 12px/1.3 var(--body)}

.reviews{padding-block:10px 69px}
.reviews-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(23px,4.3vw,54px);border:1px solid #849dce47;border-radius:14px;background:radial-gradient(ellipse at 89% 115%,#713e7840,transparent 75%),#121c38}
.reviews h2{font-size:clamp(31px,4.3vw,55px)}
.reviews-note{display:flex;align-items:center;gap:14px;max-width:490px;color:var(--muted)}
.reviews-note strong{color:#f6f7ff;font-weight:800}
.quote-mark{color:#9fe2ff;font:700 80px/.9 var(--display);align-self:start;margin-top:5px}
.reviews-list{display:flex;flex-wrap:wrap;gap:15px;flex:1}
.reviews-list figure{padding:13px;border:1px solid var(--line);border-radius:8px;flex:1 1 235px}
.reviews-list blockquote{white-space:pre-line;color:#e3eafd}
.reviews-list figcaption{margin-top:8px;color:var(--accent);font-size:13px}
.contact{padding-block:58px 75px}
.contact-panel{position:relative;isolation:isolate;min-height:345px;display:flex;align-items:center;overflow:hidden;border:1px solid #9ab6eb49;border-radius:17px;background:#0b172f}
.contact-panel img,.contact-panel::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.contact-panel img{object-fit:cover;object-position:58% 52%}
.contact-panel::after{content:"";background:linear-gradient(90deg,#0c142ce8 0%,#0e1931bf 30%,#0c142c55 64%,#0d102b18)}
.contact-content{max-width:645px;padding:clamp(24px,5vw,63px)}
.contact h2{font-size:clamp(36px,5vw,65px)}
.contact-content>p:not(.eyebrow){margin-top:14px;color:#e1e8f8;max-width:410px}
.contact-content .button{margin-top:23px}

.site-footer{border-top:1px solid var(--line);background:#090e23}
.footer-body{display:flex;justify-content:space-between;gap:clamp(20px,5vw,70px);padding-block:48px 39px}
.footer-brand{max-width:360px}
.footer-brand p{margin-top:16px;color:var(--muted);font-size:14px}
.footer-body nav{min-width:128px;display:flex;flex-direction:column;align-items:start;gap:8px}
.footer-body nav h2{font-size:15px;margin-bottom:5px}
.footer-body nav a,.footer-base{color:#bbc6df;font-size:13px}
.footer-body nav a:hover,.footer-body nav a[aria-current],.footer-base a:hover{color:var(--accent)}
.footer-base{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 0 21px}
.footer-base a{display:inline-flex;align-items:center;gap:7px}

.request-dialog{width:min(860px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;overflow:auto;background:#111a34;color:var(--ink);border:1px solid #9cc9fa70;border-radius:17px;box-shadow:0 30px 110px #050716ce}
.request-dialog::backdrop{background:#04091bc9;backdrop-filter:blur(7px)}
.request-dialog[open]{animation:dialog-arrive .23s ease-out both}
.dialog-frame{position:relative;display:flex}
.dialog-close{position:absolute;z-index:1;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:37px;height:37px;padding:0;border:1px solid var(--line);border-radius:8px;background:#1b2849;color:var(--ink);font:500 24px/1 var(--display)}
.dialog-close:hover{border-color:var(--accent);color:var(--accent)}
.dialog-intro{flex:0 0 37%;min-width:0;padding:40px 25px 34px;background:radial-gradient(ellipse at 3% 5%,#25446e 0%,transparent 62%),#101833;border-right:1px solid var(--line)}
.dialog-intro h2{margin-top:13px;font-size:clamp(26px,4.5vw,45px);letter-spacing:-.06em}
.dialog-intro>p:not(.eyebrow){color:var(--muted);font-size:14px;margin:12px 0 23px}
.dialog-fields{flex:1;min-width:0;padding:44px 26px 25px}
.contact-details{font-style:normal;color:#dce7fa;font-size:14px;overflow-wrap:anywhere}
.contact-details dl div{padding:9px 0;border-top:1px solid var(--line)}
.contact-details dt{font:600 10px/1.5 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.contact-details dd{margin-top:2px}
.form-pair{display:flex;gap:10px}
.form-pair label{flex:1 1 0;min-width:0}
.dialog-fields label{display:block;color:#e8efff;font-size:12px;font-weight:700;margin-bottom:10px}
.dialog-fields input,.dialog-fields select,.dialog-fields textarea{display:block;width:100%;min-width:0;margin-top:4px;padding:8px 10px;color:#f3f7ff;background:#0a1229;border:1px solid #a6bae65c;border-radius:7px;font-size:14px;font-weight:500}
.dialog-fields input,.dialog-fields select{height:39px}
.dialog-fields textarea{resize:vertical;min-height:72px}
.dialog-fields input::placeholder,.dialog-fields textarea::placeholder{color:#a1b1cf}
.dialog-fields :is(input,select,textarea):focus{outline:2px solid var(--accent);outline-offset:1px}
.form-note{margin:5px 0 13px;font-size:12px;color:var(--muted)}
.form-status:not(:empty){margin-top:13px;padding:9px 11px;border-radius:7px;background:#2e3d59;color:#edf5ff;font-size:13px}
.form-status[data-state=success]{background:#17435b;color:#dbf9ff}
.form-status[data-state=error]{background:#552f4e;color:#ffe9ef}
.trap{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}

.legal-hero{padding-block:127px 55px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 86% 15%,#233a62 0%,transparent 54%),radial-gradient(ellipse at 64% 0%,#392752 0%,transparent 60%),#0c142d}
.legal-back{display:inline-flex;align-items:center;gap:9px;color:#d2ebfc;font-size:13px;margin-bottom:24px}
.legal-back .arrow{rotate:180deg}
.legal-back:hover{color:var(--accent)}
.legal-hero h1,.standalone h1{margin-top:12px;font-size:clamp(40px,6.9vw,88px);letter-spacing:-.07em}
.legal-date{margin-top:17px;color:#c5d2ea;font-size:14px}
.policy{padding-block:38px 68px}
.policy-lead{font-size:clamp(17px,2vw,22px);color:#e2eafa;max-width:73ch;margin-bottom:29px}
.policy-section{padding-block:20px;border-top:1px solid var(--line)}
.policy-section h2{font-size:clamp(22px,2.8vw,34px);letter-spacing:-.045em;text-wrap:initial}
.policy-section p{max-width:78ch;color:#c9d4ed;margin-top:10px}
.policy-contact address{max-width:400px;margin-top:16px}
.policy-contact dl{margin-top:8px}
.standalone{padding-block:140px 80px}
.standalone p:not(.eyebrow),.standalone .button{margin-top:16px}

.reveal{transition:opacity .58s cubic-bezier(.22,.61,.36,1),transform .58s cubic-bezier(.22,.61,.36,1)}
.awaiting-reveal{opacity:0;transform:translateY(23px)}
.service-card:nth-child(2){transition-delay:75ms}
.service-card:nth-child(3){transition-delay:150ms}
@keyframes hero-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:850px){
    .hero{min-height:650px}
    .services-section{padding-block:70px}
    .approach,.about{padding-block:63px}
    .reviews{padding-bottom:55px}
}
@media (max-width:730px){
    .header-rail{gap:8px}
    .menu-toggle{display:flex;align-items:center;gap:5px;min-height:39px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#172342;color:#edf8ff;font-size:12px}
    .menu-toggle span{position:absolute;width:12px;height:1px;background:currentColor;transition:transform .2s ease}
    .menu-toggle span:first-child{transform:translateY(-3px)}
    .menu-toggle span:nth-child(2){transform:translateY(3px)}
    .menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}
    .menu-toggle[aria-expanded=true] span:nth-child(2){transform:rotate(-45deg)}
    .menu-toggle b{padding-left:17px}
    .primary-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;align-items:stretch;flex-direction:column;gap:2px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#101933;box-shadow:0 15px 35px #02050b88}
    .menu-toggle[aria-expanded=true]+.primary-nav{display:flex;animation:dialog-arrive .19s ease-out}
    .primary-nav a{padding:10px}
    .primary-nav a[aria-current]::after{display:none}
    .primary-nav a:last-child{padding:10px}
    .service-cards{gap:15px;padding-left:7px}
    .card-caption{gap:4px}
    .card-caption p{display:none}
    .service-action{gap:9px}
    .section-lead{gap:18px}
    .reviews-note{font-size:14px}
}
@media (max-width:650px){
    [id]{scroll-margin-top:87px}
    .admin-bar .site-header{top:46px}
    .hero{min-height:clamp(600px,146vw,710px);align-items:end;padding:139px 0 46px}
    .hero-media img{object-position:63% 25%}
    .hero::after{background:linear-gradient(90deg,#090e20a8 0%,#080d1e3b 48%,transparent 77%),linear-gradient(0deg,var(--base) 0%,#0b1026f5 15%,#0b1026a1 41%,transparent 73%)}
    .hero h1{font-size:clamp(52px,13vw,79px)}
    .hero-kicker{margin-bottom:14px}
    .hero-copy{margin-top:17px;max-width:345px}
    .hero-actions{gap:8px;margin-top:20px}
    .hero-actions .button{padding-inline:11px;gap:6px;font-size:12px}
    .section-lead,.catalog-heading{display:block;margin-bottom:24px}
    .section-lead>p,.catalog-heading p{margin-top:10px}
    .approach-inner,.about-inner{display:block}
    .approach-art{max-width:510px;margin-bottom:23px}
    .approach-art img{aspect-ratio:1.55}
    .about-inner{display:flex;flex-direction:column;gap:12px;align-items:stretch}
    .about-art{order:2}
    .about-art img{aspect-ratio:1.45}
    .about{padding-bottom:26px}
    .reviews-panel{align-items:start;flex-direction:column;gap:13px}
    .quote-mark{font-size:51px}
    .footer-body{flex-wrap:wrap}
    .footer-brand{flex:0 0 100%;max-width:none}
    .footer-brand p{max-width:400px}
    .dialog-frame{display:block}
    .dialog-intro{padding:20px 45px 13px 17px;border-right:0;border-bottom:1px solid var(--line)}
    .dialog-intro h2{margin-top:7px}
    .dialog-intro>p:not(.eyebrow){margin:6px 0}
    .dialog-intro .contact-details{font-size:12px}
    .dialog-intro .contact-details dl div{padding:3px 0}
    .dialog-intro .contact-details dt,.dialog-intro .contact-details dd{display:inline;margin:0 5px 0 0}
    .dialog-fields{padding:13px 17px 17px}
}
@media (max-width:490px){
    .services-section{padding-block:53px 59px}
    .service-cards{flex-direction:column;gap:20px;padding:0 0 0 8px}
    .service-card{flex:auto}
    .service-card-frame{aspect-ratio:1.62}
    .service-card img{object-position:center 39%}
    .service-card:nth-child(3) img{object-position:center 52%}
    .card-caption{padding:12px 14px}
    .card-caption p{display:block}
    .catalog{margin-top:47px}
    .catalog-heading{margin-bottom:0}
    .service-row{align-items:start;flex-direction:column;gap:9px;padding:12px 8px}
    .service-action{justify-content:space-between;width:100%}
    .service-action .button{min-height:34px;padding:6px 10px}
    .contact{padding-block:36px 53px}
    .contact-panel img{object-position:64% 55%}
    .contact-panel::after{background:linear-gradient(90deg,#0b1429f0,#0b1429a2 65%,#0b14294f)}
    .footer-base{align-items:start;font-size:12px}
    .footer-base a{flex:none}
}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
    .awaiting-reveal{opacity:1;transform:none}
    .button{transform:none}
}
