@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --accent:#d96b2b;
  --accent-dark:#b84e18;
  --ink:#171918;
  --charcoal:#171b1a;
  --charcoal-2:#202423;
  --paper:#f7f6f3;
  --surface:#ffffff;
  --warm:#eeeae4;
  --warm-2:#e6dfd6;
  --muted:#6d6862;
  --line:#ddd7cf;
  --white:#ffffff;
  --radius:16px;
  --shadow:0 18px 48px rgba(31,25,20,.09);
  --section-space:88px;
  --section-title-size:clamp(32px,2.7vw,40px);
  --card-title-size:17px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;max-width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:#efb18c;color:#171918}
a,button,input,textarea{outline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(217,107,43,.45)}

.container{width:min(1280px,calc(100% - 80px));margin:0 auto}
.section{padding:var(--section-space) 0}
.eyebrow{margin-bottom:16px;color:var(--accent);font-size:12px;line-height:1;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.045em}
h2{margin:0;font-size:var(--section-title-size);line-height:1.08;font-weight:800}
h3{line-height:1.18}
p{color:var(--muted)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:44px}
.section-head h2{max-width:760px}
.section-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:7px;color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap}
.section-link b{color:var(--accent);font-size:22px;font-weight:500;transition:transform .2s ease}
.section-link:hover b{transform:translateX(4px)}

.btn,.hero-ref-top-button,.hero-reference-primary,.hero-reference-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-size:14px;line-height:1.2;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.btn:hover,.hero-ref-top-button:hover,.hero-reference-primary:hover{transform:translateY(-2px);border-color:var(--accent-dark);background:var(--accent-dark);box-shadow:0 12px 28px rgba(217,107,43,.24)}
.btn-dark{border-color:var(--charcoal);background:var(--charcoal)}
.btn-dark:hover{border-color:#000;background:#000;box-shadow:0 12px 28px rgba(0,0,0,.15)}
.btn-light{border-color:#fff;background:#fff;color:var(--ink)}
.btn-light:hover{border-color:#fff;background:#fff;color:var(--ink);box-shadow:0 12px 28px rgba(0,0,0,.18)}

/* Header */
.header{background:#fff}
.hero-ref-header{position:sticky;top:0;z-index:50;height:72px;border-bottom:1px solid rgba(23,25,24,.08);box-shadow:0 4px 22px rgba(23,20,17,.04)}
.hero-ref-header-inner{width:min(1320px,calc(100% - 72px));height:72px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.hero-ref-brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.hero-ref-logo{width:34px;height:34px;flex:none;color:var(--accent)}
.hero-ref-brand-copy{display:flex;flex-direction:column}
.hero-ref-brand-copy strong{font-size:16px;line-height:1.05;font-weight:800}
.hero-ref-brand-copy small{margin-top:5px;color:#77726c;font-size:9px;line-height:1.15;font-weight:600}
.hero-ref-nav{justify-self:center;display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}
.hero-ref-nav a{position:relative;padding:25px 0 23px;transition:color .2s ease}
.hero-ref-nav a:after{content:"";position:absolute;right:0;bottom:16px;left:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .2s ease}
.hero-ref-nav a:hover,.hero-ref-nav a.active{color:var(--accent)}
.hero-ref-nav a:hover:after,.hero-ref-nav a.active:after{transform:scaleX(1);transform-origin:left}
.hero-ref-contact{display:flex;align-items:center;gap:20px}
.hero-ref-phone{display:flex;flex-direction:column;align-items:flex-end;min-width:max-content}
.hero-ref-phone strong{font-size:13px;line-height:1;font-weight:800}
.hero-ref-phone small{margin-top:6px;color:#77726c;font-size:9px;line-height:1}
.hero-ref-top-button{min-width:192px;min-height:46px;padding:0 18px;font-size:12px}
.mobile-menu-toggle,.mobile-menu{display:none}

/* Hero — approved visual direction */
.hero-reference{position:relative;height:min(760px,calc(100vh - 72px));min-height:700px;max-height:760px;overflow:hidden;background:var(--charcoal);color:#fff}
.hero-reference-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;background-size:cover}
.hero-reference-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,21,.98) 0%,rgba(18,22,21,.96) 24%,rgba(18,22,21,.89) 34%,rgba(18,22,21,.72) 44%,rgba(18,22,21,.46) 54%,rgba(18,22,21,.2) 64%,rgba(18,22,21,.05) 74%,rgba(18,22,21,0) 82%),linear-gradient(0deg,rgba(13,16,15,.14),rgba(13,16,15,0) 42%)}
.hero-reference-content{position:relative;z-index:3;width:min(1320px,calc(100% - 72px));height:100%;margin:0 auto}
.hero-reference-copy{width:610px;padding-top:102px}
.hero-reference h1{width:610px;max-width:100%;margin:0 0 25px;color:#fff;font-size:clamp(52px,3.8vw,60px);line-height:1.02;font-weight:800;letter-spacing:-.055em}
.hero-reference h1 span{display:block;white-space:nowrap}
.hero-reference-eyebrow{position:relative;margin-bottom:30px;padding-bottom:24px;color:var(--accent);font-size:18px;line-height:1.2;font-weight:600}
.hero-reference-eyebrow:after{content:"";position:absolute;bottom:0;left:0;width:58px;height:2px;background:var(--accent)}
.hero-reference-description{width:500px;max-width:100%;margin:0 0 30px;color:#e1e1dd;font-size:16px;line-height:1.65}
.hero-reference-actions{display:flex;align-items:center;gap:12px;margin-bottom:40px}
.hero-reference-primary,.hero-reference-secondary{min-height:54px;padding:0 22px;font-size:13px}
.hero-reference-primary{min-width:205px}
.hero-reference-secondary{min-width:195px;border-color:#777f7d;background:transparent}
.hero-reference-secondary:hover{transform:translateY(-2px);border-color:#fff;background:rgba(255,255,255,.07)}
.hero-reference-points{display:grid;grid-template-columns:repeat(2,195px);gap:24px 27px;width:430px}
.hero-reference-point{display:flex;align-items:center;gap:11px;color:#ededeb;font-size:12px;line-height:1.4}
.hero-ref-point-icon{width:32px;height:32px;display:grid;place-items:center;flex:none}
.hero-ref-point-icon svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* About */
#about{padding:50px 0 40px;background:#fff}
.about-master-card{position:relative;display:grid;grid-template-columns:minmax(290px,1.35fr) repeat(4,minmax(125px,.75fr));gap:32px;align-items:center;overflow:hidden;padding:42px 0;border-top:1px solid #e2ddd5;border-bottom:1px solid #e2ddd5;background:transparent}
.about-master-intro,.master-feature{position:relative;z-index:1}
.about-master-intro h2{max-width:420px;margin:0;font-size:var(--section-title-size);line-height:1.08}
.about-master-intro p{max-width:430px;margin:0;font-size:15px;line-height:1.72;color:#57524d}
.master-feature{display:flex;flex-direction:column;gap:15px;min-height:108px;padding-left:20px;border-left:1px solid #d9d2c9;font-size:14px;line-height:1.55}
.master-feature svg{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* Services */
#services{padding:64px 0 88px;background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.service-card{overflow:hidden;border:0;border-radius:0;background:var(--charcoal);box-shadow:none;transition:transform .24s ease,box-shadow .24s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(35,28,22,.16)}
.service-card img{height:auto;aspect-ratio:2/1;object-position:center;transition:transform .45s ease,filter .45s ease}
.service-card:hover img{transform:scale(1.025);filter:contrast(1.02)}
.service-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:94px;padding:19px 22px 20px}
.service-card h3{margin:0 0 7px;color:#fff;font-size:var(--card-title-size);line-height:1.25;letter-spacing:-.025em}
.service-card p{margin:0;color:#aeb1af;font-size:14px;line-height:1.5}
.service-more{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}
.service-more span:first-child{display:none}
.circle-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;font-size:16px;transition:background .2s ease,color .2s ease,transform .2s ease}
.service-more:hover .circle-arrow{transform:translateX(3px);background:var(--accent);color:#fff}

/* Advantages */
#advantages{padding:88px 0;background:var(--charcoal)}
.adv-block{padding:0;border-radius:0;background:transparent;color:#fff;box-shadow:none}
.adv-layout{display:block;visibility:visible;opacity:1}
#advantages .eyebrow{color:var(--accent);-webkit-text-fill-color:var(--accent)}
.adv-title{display:block;visibility:visible;max-width:560px;margin-bottom:44px;color:#fff;-webkit-text-fill-color:#fff;font-size:var(--section-title-size);line-height:1.08;font-weight:800;letter-spacing:-.045em;opacity:1}
.adv-items{display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:advantage}
.adv-item{position:relative;visibility:visible;min-height:164px;padding:0 22px;border-left:1px solid #343837;counter-increment:advantage;opacity:1}
.adv-item:first-child{padding-left:0;border-left:0}
.adv-item:before{content:counter(advantage,decimal-leading-zero);display:block;height:24px;margin-bottom:18px;color:var(--accent);font-size:14px;line-height:24px;font-weight:800;letter-spacing:.12em}
.adv-item h3{min-height:44px;margin:0 0 8px;color:#fff;-webkit-text-fill-color:#fff;font-size:var(--card-title-size);line-height:1.25}
.adv-item p{margin:0;color:#aeb1af;-webkit-text-fill-color:#aeb1af;font-size:14px;line-height:1.6}

/* Image-led sections */
.section-materials{padding:88px 0;background:#fff}
.materials-card{display:grid;grid-template-columns:1.04fr .96fr;min-height:360px;overflow:hidden;border-radius:0;background:#f2efea;color:var(--ink);box-shadow:none}
.materials-card img{height:100%;min-height:360px}
.materials-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:52px}
.materials-copy h2{max-width:480px;margin:0 0 18px;font-size:var(--section-title-size);line-height:1.08}
.materials-copy p{max-width:470px;margin:0 0 28px;color:var(--muted);font-size:15px;line-height:1.75}

/* Steps */
.section-steps{padding:68px 0 88px;background:#fff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px}
.step{position:relative;min-height:150px;padding:25px 28px}
.step:not(:last-child):after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:var(--line)}
.step-num{margin-bottom:17px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em}
.step h3{margin:0 0 8px;font-size:var(--card-title-size);line-height:1.25}
.step p{margin:0;font-size:14px;line-height:1.6}

/* Price */
#price{padding:96px 0;background:#ebe7e1}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.price-copy h2{max-width:620px}
.price-copy p{max-width:500px;margin:18px 0 26px;font-size:15px;line-height:1.72}
.factor-panel{padding:4px 0 4px 46px;border-left:1px solid #d1c9c0;border-radius:0;background:transparent;box-shadow:none}
.factor-title{display:none}
.factor-list{border-top:0}
.factor-row{display:flex;align-items:center;gap:16px;min-height:54px;padding:7px 0;border-bottom:0;font-size:16px;font-weight:600}
.factor-row:last-child{border-bottom:0}
.factor-icon{width:30px;height:30px;display:grid;place-items:center;flex:none;border:1px solid #e1a986;border-radius:50%;color:var(--accent);font-size:10px;font-weight:800}

/* Geography */
.section-geography{padding:88px 0;background:#fff}
.geo-card{display:grid;grid-template-columns:.45fr .55fr;min-height:330px;overflow:hidden;border-radius:0;background:var(--charcoal);color:#fff;box-shadow:none}
.geo-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px}
.geo-copy h2{max-width:500px;font-size:var(--section-title-size)}
.geo-copy p{max-width:470px;margin:18px 0 28px;color:#c9cbc8;font-size:15px;line-height:1.72}
.geo-map{min-height:330px}
.geo-map img{height:100%}

/* Contacts */
.section-contact{padding:88px 0;background:var(--charcoal);color:#fff}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:110px;align-items:center}
.contact-copy h2{max-width:560px;font-size:var(--section-title-size)}
.contact-copy p{max-width:610px;margin:18px 0 28px;color:#c8cbc8;font-size:15px;line-height:1.72}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.contact-call{border-color:#777f7d;background:transparent}
.contact-call:hover{border-color:#fff;background:rgba(255,255,255,.07);box-shadow:none}
.contact-details{padding-left:42px;border-left:1px solid #3a3f3d}
.contact-detail{display:grid;gap:7px;padding:18px 0;border-bottom:1px solid #303532}
.contact-detail:first-child{padding-top:0}
.contact-detail:last-child{padding-bottom:0;border-bottom:0}
.contact-detail span{color:#929793;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.contact-detail a,.contact-detail strong{color:#fff;font-size:17px;line-height:1.45;font-weight:700}
.contact-detail a{transition:color .18s ease}
.contact-detail a:hover{color:var(--accent)}
.admin-field input,.admin-field textarea{width:100%;border:1px solid #d9d2ca;border-radius:8px;background:#fff;color:#171918;padding:13px 15px;outline:none;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease}
.admin-field textarea{min-height:94px;resize:vertical}
.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(217,107,43,.1)}
.notice{grid-column:1/-1;padding:12px 14px;border-radius:8px;background:#e8f3e7;color:#285728;font-size:13px}
.notice-error{margin-top:10px;background:#ffe8e1;color:#842b1b}

/* FAQ */
.section-faq{padding:88px 0;background:var(--paper)}
#faq{padding:88px 0}
.faq-grid{display:grid;grid-template-columns:.32fr .68fr;gap:72px;align-items:start}
.faq-left h2{max-width:470px;margin:0 0 18px;font-size:var(--section-title-size)}
.faq-left p{max-width:430px;margin:0;font-size:15px;line-height:1.72}
.faq-item{padding:16px 0;border-top:1px solid #cfc7be}
.faq-item:last-child{border-bottom:1px solid #cfc7be}
.faq-question{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;font-size:16px;line-height:1.4;font-weight:800;cursor:pointer}
.faq-toggle{width:30px;height:30px;border:1px solid #d9aa88;border-radius:50%;background:transparent;color:var(--accent);font-size:18px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.faq-question:hover .faq-toggle{background:var(--accent);color:#fff}
.faq-answer{display:none;max-width:800px;padding:15px 58px 0 0;color:#6d6862;font-size:14px;line-height:1.78}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-toggle{transform:rotate(45deg)}

/* Footer */
.footer{padding:54px 0;background:#101312;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.05fr 1.2fr .95fr;gap:72px;align-items:start}
.footer-brand{align-items:flex-start}
.footer-brand .hero-ref-brand-copy strong{color:#fff}
.footer-brand .hero-ref-brand-copy small{color:#8f9490}
.footer-nav{display:grid;grid-template-columns:repeat(2,max-content);gap:13px 34px;font-size:13px;font-weight:700}
.footer-nav a,.footer-master a{transition:color .18s ease}
.footer-nav a:hover,.footer-nav a.active,.footer-master a:hover{color:var(--accent)}
.footer-master{display:flex;flex-direction:column;gap:5px;color:#9da29e;font-size:12px;line-height:1.55}
.footer-master strong{margin-bottom:4px;color:#fff;font-size:14px}
.footer-master a{color:#fff;font-size:14px;font-weight:700}

/* Portfolio */
.portfolio-page{background:#f5f3ef}
.portfolio-intro{padding:88px 0 54px;border-bottom:1px solid var(--line);background:var(--paper)}
.portfolio-intro-row{display:block}
.portfolio-intro h1{margin:0;font-size:var(--section-title-size);line-height:1.08;letter-spacing:-.045em}
.portfolio-gallery-section{padding:64px 0 88px}
.work-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.work-photo{display:block;width:100%;margin:0;padding:0;overflow:hidden;aspect-ratio:3/4;border:0;border-radius:0;background:#dedad4;cursor:zoom-in;box-shadow:none}
.work-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease,filter .35s ease}
.work-photo:hover img{transform:scale(1.025);filter:brightness(.96) contrast(1.02)}

/* Gallery lightbox */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(10,12,11,.95);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.lightbox-stage{width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:48px 80px;touch-action:pan-y pinch-zoom}
.lightbox-media{position:relative;display:block;width:min(66vh,88vw,1150px);height:auto;aspect-ratio:3/4;flex:none}
.lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px;box-shadow:0 20px 60px rgba(0,0,0,.34);user-select:none;-webkit-user-drag:none}
.lightbox-close,.lightbox-nav{z-index:2;width:50px;height:50px;display:grid;place-items:center;margin:0;border:0;border-radius:50%;background:rgba(16,19,18,.72);color:#fff;font-size:25px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.22);transition:background .18s ease,transform .18s ease}
.lightbox-close{position:absolute;top:22px;right:26px;font-size:31px}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}
.lightbox-prev{left:12px}
.lightbox-next{right:12px}
.lightbox-nav:hover{transform:translateY(-50%) scale(1.05);background:rgba(35,39,37,.9)}
.lightbox-close:hover{transform:scale(1.05);background:rgba(35,39,37,.9)}
.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#d2d5d2;font-size:11px;letter-spacing:.1em}
body.lightbox-open{overflow:hidden}

/* Admin */
.admin-body{background:#f1efeb}
.admin-header{position:sticky;top:0;z-index:40;background:var(--charcoal);color:#fff;box-shadow:0 5px 20px rgba(0,0,0,.12)}
.header-row{height:68px;display:flex;align-items:center}
.admin-nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700}
.admin-nav a:hover,.admin-nav button:hover{color:var(--accent)}
.admin-logout-form{margin:0}
.admin-logout-form button{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.admin-wrap{width:min(1080px,calc(100% - 36px));margin:34px auto 80px}
.admin-card{margin-bottom:22px;padding:30px;border:1px solid #e3ddd5;border-radius:15px;background:#fff;box-shadow:0 10px 32px rgba(37,30,24,.06)}
.admin-card h2{margin:0 0 20px;font-size:28px}
.admin-card h3{margin:0 0 14px;font-size:19px}
.admin-card p{font-size:14px}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px}
.admin-section{margin-top:22px;padding-top:22px;border-top:1px solid #e9e4dd}
.admin-field{margin-bottom:14px}
.admin-field label{display:block;margin-bottom:6px;color:#6e6861;font-size:11px;font-weight:700}
.admin-field textarea{resize:vertical}
.admin-field input[type="file"]{padding:11px;background:#f7f5f2}
.admin-thumb{width:190px;height:112px;margin-bottom:12px;border:1px solid #ddd5cc;border-radius:10px}
.table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid #ebe6df;vertical-align:top}
.admin-table th{color:#746d66;font-size:11px;text-transform:uppercase;letter-spacing:.05em}

@media(max-width:1180px) and (min-width:901px){
  .hero-ref-header-inner,.hero-reference-content{width:calc(100% - 44px)}
  .hero-ref-header-inner{gap:22px}
  .hero-ref-nav{gap:18px;font-size:11px}
  .hero-ref-contact{gap:12px}
  .hero-ref-phone small{display:none}
  .hero-ref-top-button{min-width:170px}
  .hero-reference-copy{width:540px}
  .hero-reference h1{width:540px;font-size:46px}
  .about-master-card{grid-template-columns:minmax(300px,1.4fr) repeat(2,1fr);gap:26px}
  .about-master-intro{grid-row:span 2}
  .adv-layout{gap:42px}
}

@media(max-width:900px){
  :root{--section-space:72px;--section-title-size:clamp(32px,5vw,40px)}
  .container{width:min(100% - 40px,1240px)}
  .section{padding:var(--section-space) 0}
  #about,#services,#advantages,#price,#contacts,#faq,.section-materials,.section-steps,.section-geography,.section-contact,.section-faq{padding:72px 0}
  #about{padding:56px 0 36px}
  #services{padding:56px 0 72px}
  .section-steps{padding-top:52px}
  .hero-ref-header,.hero-ref-header-inner{height:70px}
  .hero-ref-header-inner{width:calc(100% - 32px);grid-template-columns:1fr auto;gap:12px}
  .hero-ref-logo{width:32px;height:32px}
  .hero-ref-brand-copy strong{font-size:14px}
  .hero-ref-brand-copy small{font-size:8px}
  .hero-ref-nav,.hero-ref-contact{display:none}
  .mobile-menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid #e1dbd3;border-radius:8px;background:#fff;cursor:pointer}
  .mobile-menu-toggle span{width:18px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle.open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{position:absolute;top:70px;right:0;left:0;z-index:60;padding:22px 20px 24px;border-top:1px solid #ebe5de;background:#fff;box-shadow:0 18px 36px rgba(29,23,19,.14)}
  .mobile-menu.open{display:grid}
  .mobile-menu a{padding:12px 2px;border-bottom:1px solid #eee9e3;font-size:14px;font-weight:700}
  .mobile-menu a.active{color:var(--accent)}
  .mobile-menu .mobile-menu-cta{margin-top:14px;padding:14px;border:0;border-radius:7px;background:var(--accent);color:#fff;text-align:center}

  .hero-reference{height:auto;min-height:730px;max-height:none}
  .hero-reference-photo{inset:0;width:100%;height:100%;background-position:58% center}
  .hero-reference-photo:after{background:linear-gradient(90deg,rgba(15,18,17,.97) 0%,rgba(15,18,17,.86) 48%,rgba(15,18,17,.48) 100%),linear-gradient(0deg,rgba(15,18,17,.9) 0%,rgba(15,18,17,.16) 52%)}
  .hero-reference-content{width:calc(100% - 40px)}
  .hero-reference-copy{width:100%;padding:70px 0 54px}
  .hero-reference h1{width:650px;font-size:clamp(50px,8vw,66px)}
  .hero-reference h1 span{white-space:normal}
  .hero-reference-description{font-size:16px}
  .hero-reference-points{grid-template-columns:repeat(2,minmax(0,210px));width:100%;max-width:480px}

  .about-master-card{grid-template-columns:repeat(2,1fr);padding:44px}
  .about-master-intro{grid-column:1/-1}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .adv-layout{grid-template-columns:1fr;gap:42px}
  .adv-items{grid-template-columns:repeat(2,1fr)}
  .adv-item:nth-child(odd){padding-left:0;border-left:0}
  .materials-card,.price-grid,.geo-card,.contact-grid,.faq-grid{grid-template-columns:1fr}
  .materials-card img{min-height:360px}
  .steps{grid-template-columns:repeat(2,1fr);gap:12px}
  .step,.step:first-child,.step:last-child{border:0;border-radius:0}
  .step:not(:last-child):after{display:none}
  .step:nth-child(odd):after{display:block}
  .price-grid{gap:44px}
  .geo-map{min-height:330px}
  .contact-grid{gap:42px}
  .contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-left:0;border-left:0}
  .contact-detail,.contact-detail:first-child,.contact-detail:last-child{padding:0;border-bottom:0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:42px}
  .footer-master{grid-column:1/-1}
  .faq-grid{gap:44px}
  .work-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  :root{--section-space:56px;--section-title-size:clamp(30px,8.6vw,36px);--card-title-size:16px}
  html{scroll-padding-top:72px}
  body{font-size:15px}
  .container{width:calc(100% - 28px)}
  .section{padding:var(--section-space) 0}
  #about,#services,#advantages,#price,#contacts,#faq,.section-materials,.section-steps,.section-geography,.section-contact,.section-faq{padding:56px 0}
  #about{padding:44px 0 28px}
  #services{padding:44px 0 56px}
  .section-steps{padding-top:36px}
  .eyebrow{font-size:11px}
  h2{font-size:var(--section-title-size)}
  .section-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:32px}
  .section-link{font-size:12px}
  .hero-ref-header-inner{width:calc(100% - 24px)}
  .hero-ref-brand{gap:9px}
  .hero-ref-logo{width:29px;height:29px}
  .hero-ref-brand-copy strong{font-size:13px}
  .hero-ref-brand-copy small{display:none}
  .hero-ref-top-button{padding:0 12px;font-size:9px}

  .hero-reference{min-height:720px}
  .hero-reference-content{width:calc(100% - 28px)}
  .hero-reference-copy{padding:76px 0 52px}
  .hero-reference h1{width:min(100%,360px);font-size:clamp(40px,10vw,43px);line-height:1.04;margin-bottom:24px}
  .hero-reference-eyebrow{margin-bottom:26px;padding-bottom:24px;font-size:16px}
  .hero-reference-description{margin-bottom:30px;font-size:14px;line-height:1.65}
  .hero-reference-actions{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:38px}
  .hero-reference-primary,.hero-reference-secondary{width:100%;min-width:0;min-height:52px}
  .hero-reference-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .hero-reference-point{align-items:flex-start;gap:8px;font-size:10px}
  .hero-ref-point-icon,.hero-ref-point-icon svg{width:25px;height:25px}

  .about-master-card{grid-template-columns:1fr;padding:28px 0}
  .about-master-intro{grid-column:auto}
  .about-master-intro p{font-size:14px}
  .master-feature{min-height:auto;padding:17px 0 0;border-top:1px solid #d9d2c9;border-left:0}
  .services-grid,.adv-items,.steps{grid-template-columns:1fr}
  .service-card{width:100%}
  .service-card:hover{transform:none;box-shadow:none}
  .service-card img,.service-card:hover img{display:block;width:100%;max-width:none;height:auto;margin:0;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;filter:none}
  .service-body{min-height:120px;padding:20px}
  .service-more span:first-child{display:none}
  .adv-block{padding:0}
  .adv-items{gap:0}
  .adv-item,.adv-item:nth-child(odd){min-height:auto;padding:24px 0;border-left:0}
  .adv-item:first-child{padding-top:0}
  .adv-item:last-child{padding-bottom:0}
  .adv-item + .adv-item{border-top:1px solid #343837}

  .materials-card,.geo-card{border-radius:0}
  .materials-card img{min-height:280px}
  .materials-copy,.geo-copy{padding:34px 28px}
  .materials-copy p,.geo-copy p{font-size:14px}
  .steps{gap:0;margin-top:28px}
  .step,.step:first-child,.step:last-child{min-height:auto;padding:24px 0;border-radius:0}
  .step:first-child{padding-top:0}
  .step:last-child{padding-bottom:0}
  .step + .step{border-top:1px solid var(--line)}
  .step:nth-child(odd):after{display:none}
  .step-num{margin-bottom:12px}

  .price-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .price-copy{display:contents}
  .price-copy .eyebrow{order:1}
  .price-copy h2{order:2}
  .factor-panel{order:3;width:100%;margin:28px 0 24px;padding:8px 0 8px 14px}
  .price-copy p{order:4;max-width:none;margin:0 0 22px;font-size:14px}
  .price-copy .btn{order:5;align-self:flex-start}
  .factor-row{min-height:60px;font-size:14px}
  .geo-card{min-height:0}
  .geo-map{min-height:280px}
  .contact-copy p{font-size:14px}
  .contact-actions{flex-direction:column}
  .contact-actions .btn{width:100%}
  .contact-details{grid-template-columns:1fr;gap:0}
  .contact-detail,.contact-detail:first-child,.contact-detail:last-child{padding:16px 0;border-bottom:1px solid #303532}
  .contact-detail:last-child{padding-bottom:0;border-bottom:0}

  .faq-question{font-size:15px}
  .faq-answer{padding-right:0;font-size:14px}
  .faq-toggle{width:38px;height:38px}
  .footer{padding:48px 0}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}

  .portfolio-intro{padding:56px 0 34px}
  .portfolio-intro h1{font-size:var(--section-title-size)}
  .portfolio-gallery-section{padding:40px 0 56px}
  .work-gallery{grid-template-columns:1fr}
  .work-photo{border-radius:0}
  .work-photo:hover img{transform:none;filter:none}
  .lightbox-stage{padding:52px 12px}
  .lightbox-media{width:min(calc(100vw - 24px),66vh);max-width:100%;max-height:calc(100dvh - 104px)}
  .lightbox-close{top:12px;right:12px;width:44px;height:44px}
  .lightbox-nav{width:42px;height:42px;font-size:20px;background:rgba(16,19,18,.78)}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}

  .admin-grid{grid-template-columns:1fr}
  .admin-wrap{width:calc(100% - 22px);margin-top:20px}
  .admin-card{padding:22px}
  .admin-nav{gap:12px;font-size:10px}
}

@media(max-width:350px){
  .hero-reference h1{font-size:36px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
