@font-face{font-family:ComecSans;src:url('../fonts/comec-sans-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ComecSans;src:url('../fonts/comec-sans-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:ComecSans;src:url('../fonts/comec-sans-bold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:ComecSans;src:url('../fonts/comec-sans-bold.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
:root{--ink:#102327;--ink-2:#17363b;--cream:#f3f0e8;--paper:#fcfbf8;--white:#fff;--gold:#d9a441;--gold-2:#f0c66d;--mint:#9dbfb5;--muted:#637174;--line:rgba(16,35,39,.13);--shadow:0 24px 70px rgba(16,35,39,.12);--radius:22px;--shell:min(1220px,calc(100% - 48px));--serif:ComecSans,'Arial Rounded MT Bold',Arial,sans-serif;--sans:ComecSans,'Arial Rounded MT Bold',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.shell--narrow{max-width:820px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:9999;padding:12px 18px;background:#fff;color:#000}.skip-link:focus{top:20px}.eyebrow{margin:0 0 18px;color:var(--gold-2);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow--dark{color:#8c651d}.section{padding:120px 0}.section h2,.page-hero h1,.article-hero h1{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.02}.section h2{font-size:clamp(2.5rem,5vw,4.7rem)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 25px;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:var(--ink);font-size:.84rem;font-weight:800;letter-spacing:.03em;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);background:var(--gold-2);box-shadow:0 12px 30px rgba(217,164,65,.22)}.button--small{min-height:43px;padding:0 18px;font-size:.76rem}.button--light{background:var(--paper);border-color:var(--paper)}.text-link,.card-link{display:inline-block;border-bottom:1px solid currentColor;font-size:.83rem;font-weight:800;letter-spacing:.03em}.text-link--dark{color:var(--ink)}
.topbar{background:#09191c;color:rgba(255,255,255,.73);font-size:.73rem;letter-spacing:.03em}.topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between}.topbar__links{display:flex;gap:28px}.topbar a:hover{color:#fff}.site-header{position:relative;z-index:100;background:rgba(252,251,248,.97);border-bottom:1px solid var(--line)}.site-header.is-sticky{position:fixed;inset:0 0 auto;box-shadow:0 10px 30px rgba(16,35,39,.07);animation:slideDown .3s ease}.nav-wrap{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand__fallback{display:flex;align-items:center;gap:12px}.brand__mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50% 50% 50% 8px;background:var(--ink);color:var(--gold-2);font-family:var(--serif);font-size:1.7rem}.brand__fallback strong,.brand__fallback small{display:block;line-height:1}.brand__fallback strong{font-family:var(--serif);font-size:1.35rem;letter-spacing:.04em}.brand__fallback small{margin-top:6px;color:var(--muted);font-size:.67rem;letter-spacing:.2em;text-transform:uppercase}.custom-logo{display:block;width:auto;max-height:68px}.primary-nav{display:flex;align-items:center;gap:28px}.primary-nav>ul{display:flex;align-items:center;gap:27px;margin:0;padding:0;list-style:none}.primary-nav li{position:relative}.primary-nav a{font-size:.81rem;font-weight:750}.primary-nav>ul>li>a{display:block;padding:35px 0}.primary-nav>ul>li>a:after{content:'';display:block;width:0;height:2px;margin-top:4px;background:var(--gold);transition:width .25s}.primary-nav>ul>li:hover>a:after,.primary-nav .current-menu-item>a:after{width:100%}.primary-nav .sub-menu{position:absolute;top:calc(100% - 12px);left:-20px;width:245px;margin:0;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.primary-nav .sub-menu a{display:block;padding:10px 12px;border-radius:5px}.primary-nav .sub-menu a:hover{background:var(--cream)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span:not(.screen-reader-text){display:block;width:27px;height:2px;margin:5px;background:var(--ink)}
.hero{position:relative;overflow:hidden;min-height:760px;background:var(--ink);color:#fff}.hero__media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,34,.98) 0%,rgba(10,30,34,.92) 45%,rgba(10,30,34,.28) 100%),url('../images/office-02.jpg') center/cover no-repeat;transform:scale(1.02)}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent)}.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:10%;min-height:650px}.hero__copy{padding:80px 0}.hero h1{max-width:850px;margin:0;font-family:var(--serif);font-size:clamp(3.8rem,7vw,7rem);font-weight:400;line-height:.94;letter-spacing:-.055em}.hero h1 em{color:var(--gold-2);font-weight:400}.hero__lead{max-width:690px;margin:30px 0 36px;color:rgba(255,255,255,.76);font-size:1.12rem}.hero__actions{display:flex;align-items:center;gap:30px}.hero__card{align-self:end;margin-bottom:58px;padding:30px;background:rgba(247,244,235,.94);color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.hero__card-label{padding-bottom:18px;border-bottom:1px solid var(--line);color:#7b652f;font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.metric{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}.metric strong{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1}.metric span{max-width:110px;color:var(--muted);font-size:.75rem;line-height:1.35;text-align:right}.hero__card-foot{padding-top:18px;color:var(--muted);font-size:.68rem}.status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#4c9f70;box-shadow:0 0 0 5px rgba(76,159,112,.12)}.trust-strip{position:relative;display:flex;justify-content:space-between;padding:28px 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.52);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.services-section{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:10%;margin-bottom:64px}.section-heading>p{margin:0 0 7px;color:var(--muted);font-size:1rem}.section-heading--compact{align-items:center}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;display:flex;min-height:430px;flex-direction:column;padding:34px;border:1px solid var(--line);background:var(--paper);transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card--accent{background:var(--ink-2);color:#fff}.service-card__num{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.15em}.service-card__icon{display:grid;place-items:center;width:67px;height:67px;margin:64px 0 30px;border:1px solid currentColor;border-radius:50%;color:var(--gold);font-family:var(--serif);font-size:1.6rem}.service-card h3{margin:0 0 15px;font-family:var(--serif);font-size:1.65rem;font-weight:400;line-height:1.15}.service-card p{margin:0;color:var(--muted);font-size:.9rem}.service-card--accent p{color:rgba(255,255,255,.67)}.service-card .card-link{margin-top:auto;align-self:flex-start;color:#8c651d}.service-card--accent .card-link{color:var(--gold-2)}
.about-split{background:var(--paper)}.about-split__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.about-visual{position:relative;min-height:560px;background:var(--ink)}.about-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.07)}.experience-seal{position:absolute;right:-35px;bottom:35px;width:185px;padding:27px;background:var(--gold);box-shadow:var(--shadow)}.experience-seal strong,.experience-seal span{display:block}.experience-seal strong{font-family:var(--serif);font-size:2.8rem;font-weight:400}.experience-seal span{font-size:.72rem;font-weight:700;line-height:1.4}.about-copy>p:not(.eyebrow){margin:28px 0;color:var(--muted)}.check-list{margin:30px 0;padding:0;list-style:none}.check-list li{position:relative;padding:12px 0 12px 28px;border-top:1px solid var(--line);font-weight:650}.check-list li:before{content:'✓';position:absolute;left:0;color:#9b7020}.check-list li:last-child{border-bottom:1px solid var(--line)}
.process-section{background:var(--ink);color:#fff}.section-heading--light>p{color:rgba(255,255,255,.62)}.process-list{display:grid;grid-template-columns:repeat(4,1fr);margin:70px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.15);list-style:none}.process-list li{padding:32px 26px 0 0;border-right:1px solid rgba(255,255,255,.15)}.process-list li+li{padding-left:26px}.process-list span{color:var(--gold-2);font-size:.73rem;letter-spacing:.14em}.process-list h3{margin:56px 0 13px;font-family:var(--serif);font-size:1.7rem;font-weight:400}.process-list p{margin:0;color:rgba(255,255,255,.58);font-size:.86rem}.news-section{background:var(--cream)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .3s,box-shadow .3s}.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.post-card__image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}.post-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.post-card:hover img{transform:scale(1.035)}.post-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--gold-2);font-family:var(--serif);font-size:2.1rem;letter-spacing:.08em;background-image:linear-gradient(135deg,transparent 49%,rgba(255,255,255,.05) 50%)}.post-card__body{padding:27px}.post-meta{display:flex;gap:15px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.post-card h2,.post-card h3{margin:17px 0 25px;font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.2}.post-card p{color:var(--muted);font-size:.88rem}.post-card .card-link{color:#8c651d}.cta-section{padding:0 0 95px;background:var(--cream)}.cta-box{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;padding:72px;background:var(--gold)}.cta-box .eyebrow{color:var(--ink)}.cta-box h2{margin:0;font-family:var(--serif);font-size:clamp(2.5rem,4.7vw,4.4rem);font-weight:400;letter-spacing:-.04em;line-height:1}.cta-box>div:last-child{align-self:end}.cta-box p{margin:0 0 25px}
.page-hero,.article-hero{padding:72px 0;background:var(--ink);color:#fff}.page-hero h1,.article-hero h1{font-size:clamp(2.8rem,5vw,3.75rem)}.page-hero>div>p:last-child,.article-hero>div>p:last-child{max-width:720px;margin:22px 0 0;color:rgba(255,255,255,.65);font-size:1.08rem}.article-hero{padding-bottom:105px}.article-hero .post-meta{margin-bottom:19px;color:var(--gold-2)}.content-shell{padding-top:65px;padding-bottom:110px}.entry-content{font-size:1.05rem}.entry-content>*{max-width:780px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1100px}.entry-content>.alignfull{max-width:none}.entry-content h2,.entry-content h3{margin-top:2em;font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.15}.entry-content h2{font-size:2.35rem}.entry-content h3{font-size:1.65rem}.entry-content a{color:#845d13;text-decoration:underline}.entry-content blockquote{padding:20px 30px;border-left:4px solid var(--gold);background:var(--cream);font-family:var(--serif);font-size:1.3rem}.featured-image{max-width:900px;margin-top:-52px}.featured-image img{display:block;width:100%;height:auto}.page-featured-image{margin-top:-38px}.archive-shell{padding-top:90px;padding-bottom:110px}.archive-description{color:rgba(255,255,255,.65)}.post-nav{display:flex;justify-content:space-between;gap:30px;padding-bottom:100px}.post-nav a{max-width:45%;color:#845d13;font-weight:700}.pagination{margin-top:50px}.nav-links{display:flex;gap:8px}.page-numbers{display:grid;min-width:42px;height:42px;place-items:center;border:1px solid var(--line)}.page-numbers.current{background:var(--ink);color:#fff}.error-page{display:grid;min-height:650px;place-items:center;text-align:center;background:var(--cream)}.error-code{margin:0;color:var(--gold);font-family:var(--serif);font-size:8rem;line-height:.8}.error-page h1{font-family:var(--serif);font-size:3rem}.site-footer{padding:85px 0 25px;background:#09191c;color:rgba(255,255,255,.68)}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:9%}.brand__fallback--light{color:#fff}.brand__fallback--light .brand__mark{background:var(--gold);color:var(--ink)}.brand__fallback--light small{color:rgba(255,255,255,.5)}.footer-brand p{max-width:360px;margin-top:23px}.site-footer h3{margin:0 0 24px;color:#fff;font-family:var(--serif);font-size:1.15rem;font-weight:400}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:9px}.site-footer a:hover{color:var(--gold-2)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:70px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.68rem}.footer-bottom div{display:flex;gap:24px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes slideDown{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:1020px){:root{--shell:min(100% - 36px,900px)}.topbar{display:none}.nav-wrap{min-height:80px}.menu-toggle{display:block;z-index:3}.primary-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 9vw;background:var(--paper);opacity:0;visibility:hidden;transform:translateX(100%);transition:.35s}.menu-open .primary-nav{opacity:1;visibility:visible;transform:none}.primary-nav>ul{display:block;width:100%}.primary-nav>ul>li>a{padding:10px 0;font-family:var(--serif);font-size:clamp(1.7rem,5vw,2.5rem);font-weight:400}.primary-nav .sub-menu{position:static;display:none;width:auto;padding:0 0 10px 15px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.primary-nav .menu-item-has-children.is-open>.sub-menu{display:block}.nav-cta{margin-top:25px}.hero{min-height:auto}.hero__inner{grid-template-columns:1fr;min-height:auto}.hero__copy{padding:105px 0 55px}.hero__card{width:min(460px,100%);justify-self:end;margin:0 0 45px}.section{padding:90px 0}.section-heading{grid-template-columns:1fr;gap:28px}.service-grid{grid-template-columns:1fr}.service-card{min-height:340px}.service-card__icon{margin:38px 0 25px}.about-split__grid{gap:6%}.process-list{grid-template-columns:repeat(2,1fr)}.process-list li{padding-bottom:34px}.post-grid{grid-template-columns:repeat(2,1fr)}.post-grid .post-card:last-child:nth-child(odd){grid-column:span 2}.cta-box{padding:55px}.footer-grid{grid-template-columns:1.2fr .8fr}.footer-grid>div:last-child{grid-column:2}}
@media(max-width:680px){:root{--shell:calc(100% - 30px)}body{font-size:16px}.custom-logo{max-width:200px}.hero h1{font-size:clamp(3.1rem,15vw,4.6rem)}.hero__actions{align-items:flex-start;flex-direction:column;gap:20px}.hero__card{justify-self:stretch}.trust-strip{overflow:auto;gap:30px}.trust-strip span{flex:0 0 auto}.section{padding:72px 0}.section h2{font-size:clamp(2.4rem,12vw,3.35rem)}.about-split__grid{grid-template-columns:1fr}.about-visual{min-height:390px;margin-bottom:35px}.experience-seal{right:14px;bottom:-28px}.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li{padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.process-list h3{margin-top:25px}.post-grid{grid-template-columns:1fr}.post-grid .post-card:last-child:nth-child(odd){grid-column:auto}.cta-section{padding-bottom:60px}.cta-box{grid-template-columns:1fr;gap:34px;padding:42px 28px}.page-hero,.article-hero{padding:54px 0}.page-hero h1,.article-hero h1{font-size:clamp(2.65rem,12vw,3.4rem)}.article-hero{padding-bottom:78px}.featured-image{margin-top:-35px}.page-featured-image{margin-top:-25px}.content-shell{padding-top:48px;padding-bottom:75px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.site-footer{padding-top:65px}}
.comec-form{max-width:780px;margin:45px auto 0;padding:38px;background:var(--cream);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.comec-form label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:750}.comec-form input,.comec-form textarea{width:100%;border:1px solid rgba(16,35,39,.24);border-radius:0;background:#fff;padding:13px 14px;color:var(--ink);outline:none}.comec-form input:focus,.comec-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,164,65,.15)}.form-full{grid-column:1/-1}.form-honeypot{position:absolute!important;left:-9999px!important}.consent{flex-direction:row!important;align-items:flex-start;margin:22px 0}.consent input{width:auto;margin-top:4px}.form-result-open{overflow:hidden}.form-message{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;margin:0;padding:24px;background:rgba(5,20,23,.78);backdrop-filter:blur(4px)}.form-message__dialog{position:relative;width:min(560px,100%);padding:50px 42px 42px;background:#fff;border-top:8px solid var(--gold);box-shadow:0 24px 80px rgba(0,0,0,.28);text-align:center;outline:none}.form-message--success .form-message__dialog{border-color:#2f7850}.form-message--error .form-message__dialog{border-color:#a63f31}.form-message__icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 24px;border-radius:50%;background:#e1f2e5;color:#245c35;font-size:2.1rem;font-weight:800}.form-message--error .form-message__icon{background:#f7e3df;color:#7c2c20}.form-message h2{margin:0;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}.form-message p{margin:16px auto 26px;max-width:430px;color:var(--muted);font-size:1rem}.form-message__close{position:absolute;top:12px;right:15px;width:40px;height:40px;padding:0;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}.form-message__confirm{min-width:145px}.form-message__close:focus-visible,.form-message__confirm:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:680px){.comec-form{padding:25px 20px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.form-message{padding:16px}.form-message__dialog{padding:44px 24px 30px}.form-message__icon{width:60px;height:60px;margin-bottom:20px}}
.brand__logo{display:block;line-height:0}.brand__logo img{display:block;width:auto;height:74px}.footer-logo-box{display:block;width:min(310px,100%);padding:10px 14px;background:var(--cream);line-height:0}.footer-logo-box img{display:block;width:100%;height:auto}body{font-weight:500}.hero h1,.hero h1 em,.section h2,.page-hero h1,.article-hero h1,.service-card h3,.process-list h3,.post-card h2,.post-card h3,.cta-box h2,.entry-content h2,.entry-content h3,.error-code,.error-page h1,.site-footer h3,.metric strong,.experience-seal strong{font-family:var(--sans);font-style:normal;font-weight:800;letter-spacing:-.045em}.hero h1{line-height:.98}.hero h1 em{font-weight:800}.metric strong{font-weight:800}.service-card h3,.process-list h3,.post-card h2,.post-card h3,.entry-content h3,.site-footer h3{letter-spacing:-.025em}.primary-nav a,.button,.text-link,.card-link{font-weight:800}

/* v1.2.0: compact CTA, complete footer and consent-gated map. */
.cta-box{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:8%;padding:58px 64px}
.cta-box h2{max-width:720px;font-size:clamp(2.5rem,4vw,4rem);line-height:1.02}
.footer-grid{grid-template-columns:1.25fr .75fr 1fr .9fr;gap:5%}
.footer-logo-box{width:min(280px,100%);padding:0;background:transparent}
.footer-logo-box img{filter:none;opacity:1}
.footer-menu{margin:0;padding:0;list-style:none}
.footer-menu li{margin-bottom:10px}
.footer-menu a{font-size:.86rem}
.footer-bottom>div{display:flex;gap:24px}
.footer-credits{flex-wrap:wrap}
.footer-bottom a{color:#fff;font-weight:700}
.footer-bottom a:hover{color:var(--gold-2)}
.consent a{color:#845d13;text-decoration:underline;text-underline-offset:2px}
.map-consent{display:grid;height:100%;min-height:520px;place-items:center;padding:42px;background:linear-gradient(135deg,var(--cream),#e7dfcf)}
.map-consent__inner{max-width:620px;text-align:center}
.map-consent__inner h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}
.map-consent__inner>p:not(.eyebrow){margin:20px auto 28px;color:var(--muted)}
.map-consent__inner .text-link{display:block;width:max-content;margin:22px auto 0}

@media(max-width:1020px){
	.cta-box{grid-template-columns:1fr;gap:28px;padding:50px 46px}
	.cta-box>div:last-child{max-width:620px;align-self:auto}
	.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 9%}
	.footer-grid>div:last-child{grid-column:auto}
}

@media(max-width:680px){
	.cta-box{padding:40px 26px}
	.cta-box h2{font-size:clamp(2.35rem,11vw,3.25rem)}
	.footer-grid{grid-template-columns:1fr;gap:38px}
	.map-consent{min-height:420px;padding:34px 22px}
}
.service-card__image{width:100%;aspect-ratio:16/9;margin:28px 0 27px;overflow:hidden;background:var(--cream)}.service-card__image img{display:block;width:100%;height:100%;object-fit:cover}.service-card{min-height:525px}.service-card__image+h3{margin-top:0}.contact-section{background:var(--cream)}.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:8%;align-items:start}.contact-details h2,.contact-form-panel h2{margin:0;font-family:var(--sans);font-size:clamp(2rem,4vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-.04em}.contact-detail-list{margin-top:40px;border-top:1px solid var(--line)}.contact-detail{display:flex;flex-direction:column;gap:5px;padding:21px 0;border-bottom:1px solid var(--line)}.contact-detail>span{color:#8c651d;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-detail strong{font-size:1rem}.contact-detail a:hover{color:#8c651d}.contact-form-panel{padding:45px;background:#fff;box-shadow:var(--shadow)}.contact-form-panel>p{margin:13px 0 0;color:var(--muted)}.contact-form-panel .comec-form{margin:30px 0 0;padding:0;border:0;background:transparent}.map-section{height:520px;background:#ddd}.map-section iframe{display:block}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:55px}.contact-form-panel{padding:35px}.service-card{min-height:490px}}
@media(max-width:680px){.brand__logo img{height:56px}.contact-form-panel{padding:28px 20px}.map-section,.map-section iframe{height:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Dynamic services directory */
.services-hero{position:relative;overflow:hidden;padding-bottom:88px}
.services-hero:after{position:absolute;right:-5vw;bottom:-135px;width:410px;height:410px;border:1px solid rgba(217,164,65,.28);border-radius:50%;content:""}
.services-hero .shell{position:relative;z-index:1}
.services-directory{padding:105px 0 115px;background:var(--cream)}
.services-directory__heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:9%;margin-bottom:55px}
.services-directory__heading h2{max-width:760px;margin:0;font-family:var(--sans);font-size:clamp(2.45rem,5vw,4.35rem);font-weight:800;letter-spacing:-.05em;line-height:1.02}
.services-directory__heading>p{margin:0 0 7px;color:var(--muted);font-size:1rem}
.services-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.services-directory__card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#fff;box-shadow:0 0 0 rgba(9,25,28,0);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.services-directory__card:hover{border-color:rgba(217,164,65,.68);transform:translateY(-7px);box-shadow:var(--shadow)}
.services-directory__visual{position:relative;display:grid;min-height:190px;place-items:center;overflow:hidden;background:var(--ink-2);color:#fff}
.services-directory__visual:before,.services-directory__visual:after{position:absolute;border:1px solid rgba(217,164,65,.35);border-radius:50%;content:""}
.services-directory__visual:before{right:-48px;bottom:-90px;width:220px;height:220px}
.services-directory__visual:after{right:34px;bottom:-116px;width:260px;height:260px}
.services-directory__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.services-directory__card:hover .services-directory__visual img{transform:scale(1.035)}
.services-directory__monogram{position:relative;z-index:1;color:var(--gold-2);font-size:clamp(2.6rem,4.5vw,4.3rem);font-weight:800;letter-spacing:-.09em;line-height:1}
.services-directory__number{position:absolute;top:22px;left:24px;z-index:2;color:rgba(255,255,255,.55);font-size:.7rem;font-weight:800;letter-spacing:.16em}
.services-directory__body{display:flex;min-height:285px;flex:1;flex-direction:column;padding:31px}
.services-directory__body h3{margin:0 0 15px;font-family:var(--sans);font-size:1.48rem;font-weight:800;letter-spacing:-.035em;line-height:1.12}
.services-directory__body p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.services-directory__link{align-self:flex-start;margin-top:auto;padding-top:28px;border-bottom:1px solid currentColor;color:#845d13;font-size:.78rem;font-weight:800}
.services-directory__link span{display:inline-block;margin-left:8px;transition:transform .25s ease}
.services-directory__card:hover .services-directory__link span{transform:translateX(5px)}
.services-directory__empty{padding:30px;border:1px solid var(--line);background:#fff}
.services-contact{padding:0 0 105px;background:var(--cream)}
.services-contact__box{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;padding:58px 64px;background:var(--gold);color:var(--ink)}
.services-contact__box .eyebrow{color:var(--ink)}
.services-contact__box h2{max-width:700px;margin:0;font-family:var(--sans);font-size:clamp(2.15rem,4vw,3.65rem);font-weight:800;letter-spacing:-.05em;line-height:1.02}
.services-contact__box>div:last-child{align-self:end}
.services-contact__box>div:last-child p{margin:0 0 24px}

@media(max-width:1020px){
	.services-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.services-directory__heading,.services-contact__box{grid-template-columns:1fr;gap:28px}
	.services-contact__box{padding:52px}
}
@media(max-width:680px){
	.services-hero{padding-bottom:65px}
	.services-directory{padding:72px 0 78px}
	.services-directory__heading{margin-bottom:38px}
	.services-directory__grid{grid-template-columns:1fr}
	.services-directory__visual{min-height:175px}
	.services-directory__body{min-height:245px;padding:27px}
	.services-contact{padding-bottom:70px}
	.services-contact__box{padding:40px 28px}
}
.map-section iframe{width:100%;height:100%;border:0}

/* v1.3.0: definitive CCV identity across header, footer and mobile. */
.brand{flex:0 1 420px}
.brand__logo{display:block;width:min(420px,36vw);line-height:0}
.brand__logo picture,.brand__logo img{display:block;width:100%;height:auto}
.footer-logo-box{width:min(390px,100%)}
.footer-logo-box img{filter:none;opacity:1}

@media(max-width:1020px){
	.brand{flex:0 1 auto}
	.brand__logo{width:min(390px,70vw)}
}

@media(max-width:680px){
	.brand__logo img{height:auto}
	.footer-logo-box{width:min(360px,100%)}
}

@media(max-width:520px){
	.brand__logo{width:170px}
}
