/*
Theme Name: Elite Home Renovations
Theme URI: https://example.com/elite-home-renovations
Author: Elite Home Renovations
Description: Portfolio-style theme for home remodeling and construction companies. Black, gold and warm-white editorial design with a project portfolio, before/after slider, services, team, testimonials and a consultation request form.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ehr
Tags: portfolio, business, custom-menu, custom-logo, featured-images, translation-ready, two-columns, block-styles
*/

:root{
  --ink:#1A1A18; --black:#101010; --black-2:#16150F; --line-dk:#2A2823;
  --paper:#F6F3EE; --paper-2:#EDE9E2; --white:#fff;
  --line:#DFD9CF; --line-2:#C9C2B6; --muted:#5A564D; --muted-2:#8A857C; --muted-3:#918B81;
  --gold:#B4924C; --gold-dk:#8E7134;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --wrap:1320px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-dk)}
::selection{background:var(--gold);color:#fff}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0}
p{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
.eyebrow{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.mono{font-family:var(--mono)}
.lead{font-size:16.5px;line-height:1.68;color:var(--muted)}
.rule{border-bottom:1px solid var(--line)}
.diamond{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
.ph{background:repeating-linear-gradient(135deg,#E7E3DB,#E7E3DB 7px,#DCD7CD 7px,#DCD7CD 14px);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.ph--dark{background:repeating-linear-gradient(135deg,#26241F,#26241F 7px,#201E1A 7px,#201E1A 14px)}
.ph__label{font-family:var(--mono);font-size:11px;color:var(--muted-2);border:1px dashed var(--line-2);padding:8px 14px;text-align:center}
.ph--dark .ph__label{color:#6E6A62;border-color:#3E3B35}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* buttons */
.btn{display:inline-block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:18px 32px;cursor:pointer;border:0;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.btn--dark{background:var(--black);color:var(--paper)}
.btn--dark:hover{background:var(--gold);color:var(--black)}
.btn--gold{background:var(--gold);color:var(--black)}
.btn--gold:hover{background:var(--paper);color:var(--black)}
.btn--ghost{border:1px solid #3A3833;color:var(--paper)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--sm{padding:15px 24px}
.textlink{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#4A473F;border-bottom:1px solid var(--gold);padding-bottom:6px}
.textlink:hover{color:var(--gold)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,243,238,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:var(--wrap);margin:0 auto;padding:14px 28px;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:13px;flex:none;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand__mark{width:34px;height:34px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.brand__mark i{width:12px;height:12px;background:var(--gold);transform:rotate(45deg);display:block}
.brand__name{font-family:var(--serif);font-size:23px;line-height:1}
.brand__sub{font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2);margin-top:3px;line-height:1}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:22px;row-gap:8px;flex-wrap:wrap;justify-content:center}
.site-nav{flex:1 1 320px;min-width:0}
.site-nav a{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#4A473F;padding:4px 0;border-bottom:1px solid transparent;white-space:nowrap;display:block}
.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--black);border-bottom-color:var(--gold)}
.header__aside{display:flex;align-items:center;gap:18px;flex:none}
.header__phone{text-align:right;line-height:1.3}
.header__phone small{display:block;font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#A39D93;white-space:nowrap}
.header__phone a{font-size:14px;letter-spacing:.02em;color:var(--ink);white-space:nowrap}
.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

/* hero */
.hero{background:var(--black);color:var(--paper);min-height:660px;display:grid;grid-template-columns:1.05fr 1fr}
.hero__text{padding:108px 72px 88px;display:flex;flex-direction:column;justify-content:center;max-width:720px;margin-left:auto}
.hero__kicker{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.hero__kicker span{width:40px;height:1px;background:var(--gold);display:block}
.hero h1{font-size:78px;line-height:1.02;letter-spacing:-.015em;margin-bottom:26px;text-wrap:pretty}
.hero h1 em{color:var(--gold)}
.hero p{font-size:17px;line-height:1.65;color:#B5B0A6;margin-bottom:40px;max-width:470px;text-wrap:pretty}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.hero__media{position:relative;min-height:420px}
.page-hero{padding:84px 0 0}
.page-hero h1{font-size:64px;line-height:1.03;letter-spacing:-.015em;margin:22px 0}

/* stats */
.stats{background:var(--black-2);color:var(--paper);border-top:1px solid var(--line-dk)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 28px;border-left:1px solid var(--line-dk);display:flex;flex-direction:column;gap:7px}
.stat__value{font-family:var(--serif);font-size:34px;line-height:1;color:var(--gold)}
.stat__label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-3)}

/* section heads */
.section{padding:110px 0}
.section--tight{padding:100px 0}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:54px}
.section__head h2{font-size:50px;line-height:1.05;margin-top:16px}

/* project cards */
.featured{display:grid;grid-template-columns:1.35fr 1fr;gap:26px}
.featured__side{display:grid;gap:26px;align-content:start}
.card{display:block;color:var(--ink)}
.card:hover{color:var(--ink)}
.card .ph{transition:opacity .3s,transform .5s}
.card:hover .ph{opacity:.88}
.card__meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:18px}
.card__meta{font-family:var(--mono);font-size:10.5px;color:var(--muted-2);white-space:nowrap}
.card h3{font-size:23px}
.card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:9px}
.card--lg .ph{height:520px}
.card--lg h3{font-size:30px}
.card--lg p{font-size:15px;max-width:560px}
.card--sm .ph{height:232px}
.card--sm h3{font-size:22px}
.badge{position:absolute;left:18px;top:18px;background:rgba(16,16,16,.88);color:var(--gold);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:7px 11px;z-index:2}
.badge--feature{background:var(--black);left:22px;top:22px;font-size:10px;padding:8px 13px}

/* portfolio grid */
.filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:26px}
.chip{padding:11px 20px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--line);background:var(--white);color:#4A473F}
.chip:hover{border-color:var(--gold)}
.chip.is-active{border-color:var(--black);background:var(--black);color:var(--paper)}
.grid-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:46px}
.grid-projects .ph{height:300px}
.grid-projects .card__meta-row{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.is-hidden{display:none!important}

/* before / after */
.ba{display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:center}
.ba h2{font-size:42px;line-height:1.08;margin-bottom:18px}
.ba__facts{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.ba__fact{display:flex;justify-content:space-between;gap:16px;font-size:13px}
.ba__fact span:first-child{color:var(--muted-2);letter-spacing:.04em}
.ba__stage{position:relative;height:540px;overflow:hidden;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none}
.ba__stage img,.ba__stage .ph{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.ba__stage img{pointer-events:none}
.ba__after,.ba__before{position:absolute;inset:0}
.ba__before{width:52%;overflow:hidden;background:repeating-linear-gradient(135deg,#4A4640,#4A4640 7px,#423E39 7px,#423E39 14px)}
.ba__before .ph__label{color:#B0AAA0;border-color:#6B665E}
.ba__before-inner{position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;justify-content:center}
.ba__tag{position:absolute;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;z-index:3}
.ba__tag--after{left:22px;bottom:22px;background:rgba(246,243,238,.94);color:var(--ink)}
.ba__tag--before{left:22px;top:22px;background:rgba(16,16,16,.9);color:var(--gold)}
.ba__handle{position:absolute;top:0;bottom:0;left:52%;width:2px;background:var(--gold);pointer-events:none;z-index:4}
.ba__knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;gap:5px}
.ba__knob i{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent}
.ba__knob i:first-child{border-right:6px solid var(--black)}
.ba__knob i:last-child{border-left:6px solid var(--black)}

/* services list */
.band{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:88px 300px 1fr 130px;gap:28px;align-items:baseline;padding:30px 0;border-top:1px solid #D6D0C5;color:var(--ink)}
.svc-row:hover{background:#E5E0D7;color:var(--ink)}
.svc-row__no{font-family:var(--mono);font-size:12px;color:var(--gold)}
.svc-row h3{font-size:28px}
.svc-row p{font-size:15px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.svc-row__range{font-family:var(--mono);font-size:11.5px;color:var(--muted-2);text-align:right}

/* services detail */
.svc-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:66px 0;border-bottom:1px solid var(--line)}
.svc-detail:nth-child(even) .svc-detail__text{order:2}
.svc-detail:nth-child(even) .svc-detail__media{order:1}
.svc-detail h2{font-size:42px;line-height:1.06;margin-bottom:18px}
.svc-detail p{font-size:16px;line-height:1.68;color:var(--muted);max-width:500px;margin-bottom:26px;text-wrap:pretty}
.svc-detail__meta{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.svc-detail__meta .n{font-family:var(--mono);font-size:11.5px;color:var(--gold)}
.svc-detail__meta .l{width:32px;height:1px;background:var(--line)}
.svc-detail__meta .r{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}
.svc-detail__media{height:400px}
.bullets{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;max-width:500px;list-style:none;margin:0;padding:0}
.bullets li{display:flex;gap:10px;align-items:baseline;font-size:14px;border-top:1px solid var(--paper-2);padding-top:10px}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.process__step{background:var(--paper);padding:34px 28px 40px;display:flex;flex-direction:column;gap:12px}
.process__step .n{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--gold)}
.process__step h3{font-size:25px}
.process__step p{font-size:14.5px;line-height:1.6;color:var(--muted)}
.process__step .t{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:11px;color:var(--muted-2)}

/* quote */
.quote{background:var(--black);color:var(--paper)}
.quote__inner{max-width:1000px;margin:0 auto;padding:110px 40px;text-align:center}
.quote__mark{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1;margin-bottom:26px}
.quote blockquote{font-family:var(--serif);font-size:36px;line-height:1.38;margin:0 0 34px;text-wrap:pretty}
.quote cite{font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-3)}

/* two-col */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.split--area{align-items:center}
.split h2{font-size:42px;line-height:1.08;margin-bottom:20px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{border:1px solid var(--line);padding:10px 16px;font-size:12.5px;letter-spacing:.06em;background:var(--white)}
.panel{border:1px solid var(--line);background:var(--white);padding:38px}
.panel h3{font-size:26px;margin-bottom:22px}
.cred{display:flex;gap:14px;padding:15px 0;border-top:1px solid var(--paper-2)}
.cred .diamond{margin-top:6px}
.cred b{font-weight:400;font-size:14.5px;display:block;margin-bottom:3px}
.cred small{font-family:var(--mono);font-size:11.5px;color:var(--muted-2)}
.creds-dark{background:var(--black);color:var(--paper)}
.creds-dark__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:90px 0}
.creds-dark h3{font-size:24px;margin-bottom:10px}
.creds-dark .diamond{width:9px;height:9px;margin-bottom:22px}
.creds-dark small{font-family:var(--mono);font-size:11.5px;color:var(--muted-3);line-height:1.6}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.team .ph{height:330px}
.team__body{padding-top:18px;border-top:1px solid var(--line);margin-top:16px}
.team h3{font-size:24px;margin-bottom:5px}
.team__role{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.team p{font-size:14px;line-height:1.6;color:var(--muted)}

/* reviews */
.reviews-head{display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:40px}
.score{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.score>div{background:var(--white);padding:22px}
.score b{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1;color:var(--gold);display:block}
.score small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-top:6px;display:block}
.reviews{columns:3;column-gap:30px;padding-top:50px}
.review{break-inside:avoid;border:1px solid var(--line);background:var(--white);padding:32px;margin-bottom:30px}
.review__stars{font-size:13px;letter-spacing:.3em;color:var(--gold);margin-bottom:18px}
.review p{font-family:var(--serif);font-size:21px;line-height:1.45;margin-bottom:22px;text-wrap:pretty}
.review__by{border-top:1px solid var(--paper-2);padding-top:16px}
.review__by b{font-weight:400;font-size:14px;display:block;margin-bottom:4px}
.review__by small{font-family:var(--mono);font-size:11px;color:var(--muted-2)}

/* contact */
.contact{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:start}
.form{display:grid;gap:22px;max-width:620px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:9px;display:block}
.form input[type=text],.form input[type=email],.form input[type=tel]{width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;padding:12px 0;font-size:16px;outline:none}
.form input:focus{border-bottom-color:var(--gold)}
.form textarea{width:100%;border:1px solid var(--line-2);background:var(--white);padding:16px;font-size:15.5px;line-height:1.6;outline:none;resize:vertical}
.form textarea:focus{border-color:var(--gold)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label{border:1px solid var(--line);background:var(--white);color:#4A473F;padding:12px 18px;font-size:12.5px;letter-spacing:.06em;cursor:pointer;margin:0;text-transform:none}
.opts input:checked+label{border-color:var(--black);background:var(--black);color:var(--paper)}
.opts--budget label{font-family:var(--mono)}
.form__submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:6px}
.form__note{font-family:var(--mono);font-size:11.5px;color:var(--muted-2)}
.form__ok{background:var(--black);color:var(--gold);padding:18px 22px;font-size:14px}
.aside{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.aside>div{background:var(--white);padding:34px}
.aside__call{background:var(--black)!important;color:var(--paper)}
.aside__call .n{font-family:var(--serif);font-size:34px;line-height:1;color:var(--paper)}
.aside__call small{font-size:13.5px;color:var(--muted-3);margin-top:10px;display:block}
.aside h4{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px;font-family:var(--sans)}
.aside__call h4{color:var(--gold)}
.aside__map{background:var(--paper-2)!important;height:240px;padding:0!important;display:flex;align-items:center;justify-content:center}

/* cta + footer */
.cta{background:var(--black-2);color:var(--paper);border-top:1px solid var(--line-dk)}
.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:60px;flex-wrap:wrap;padding:92px 0}
.cta h2{font-size:46px;line-height:1.08;margin-bottom:12px}
.cta p{font-size:16px;color:#B5B0A6}
.site-footer{background:var(--black);color:var(--muted-3)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding:62px 0 34px}
.site-footer .brand__name{color:var(--paper);font-size:21px}
.site-footer p{font-size:14px;line-height:1.65;max-width:320px}
.site-footer h4{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);margin-bottom:18px;font-family:var(--sans)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.site-footer a{font-size:14px;color:var(--muted-3)}
.site-footer a:hover{color:var(--gold)}
.site-footer__legal{border-top:1px solid var(--line-dk);display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;padding:24px 0 46px;margin-top:0}

/* single project */
.proj-hero{height:620px}
.proj-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:40px 0 60px}
.proj-meta>div{background:var(--white);padding:24px}
.proj-meta small{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);display:block;margin-bottom:8px}
.proj-meta b{font-weight:400;font-size:16px}
.entry{max-width:720px;font-size:16.5px;line-height:1.75;color:#3F3C35}
.entry p{margin-bottom:20px}
.entry h2{font-size:32px;margin:36px 0 14px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}
.gallery .ph{height:260px}
.pager{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:26px;margin-top:70px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}

/* blog / fallback */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.post-card .ph{height:240px}
.post-card h2{font-size:24px;margin:16px 0 8px}
.post-card p{font-size:14.5px;color:var(--muted);line-height:1.6}
.post-card .card__meta{margin-bottom:0}
.pagination{margin-top:50px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);margin-right:6px;color:#4A473F}
.pagination .current{background:var(--black);color:var(--paper);border-color:var(--black)}

/* reveal */
.about__media{height:560px}
.aside__call .n{display:block}
.aside__call .n:hover{color:var(--gold)}
.ba__after .ph,.ba__before .ph{width:100%;height:100%}
.ba__before-inner .ph{height:100%}
.entry img{margin:24px 0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal,.reveal.no-motion{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}}

/* responsive */
@media (max-width:1180px){
  .hero h1{font-size:62px}
  .hero__text{padding:88px 48px}
  .featured,.ba,.split,.contact,.reviews-head{grid-template-columns:1fr;gap:40px}
  .ba__stage{height:440px}
  .grid-projects,.team,.creds-dark__grid{grid-template-columns:repeat(2,1fr)}
  .reviews{columns:2}
  .svc-row{grid-template-columns:60px 1fr;gap:8px 20px}
  .svc-row__range{text-align:left;grid-column:2}
  .process{grid-template-columns:repeat(2,1fr)}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .wrap{padding:0 22px}
  .hero{grid-template-columns:1fr}
  .hero__text{padding:64px 22px;max-width:none}
  .hero h1{font-size:46px}
  .page-hero h1{font-size:40px}
  .section,.section--tight{padding:64px 0}
  .card--lg .ph{height:320px}
  .svc-detail{grid-template-columns:1fr;gap:28px;padding:40px 0}
  .svc-detail:nth-child(even) .svc-detail__text,.svc-detail:nth-child(even) .svc-detail__media{order:0}
  .svc-detail__media{height:260px}
  .grid-projects,.team,.posts,.gallery,.proj-meta,.creds-dark__grid,.process,.reviews,.bullets,.form__row,.score{grid-template-columns:1fr;columns:1}
  .quote blockquote{font-size:24px}
  .section__head h2{font-size:34px}
  .nav-toggle{display:block;order:3}
  .site-nav{flex:1 1 100%;display:none}
  .site-nav.is-open{display:block}
  .site-nav ul{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:14px}
  .header__aside{gap:12px}
}
