:root{--bg:#f6f2ec;--paper:#fffdf9;--ink:#1d1b18;--muted:#6c675f;--accent:#d8aa78;--accent2:#ead8c2;--dark:#29231d;--line:#ded8cf;--radius:22px;--shadow:0 18px 40px rgba(34,26,18,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.55}.container{width:min(1180px,calc(100% - 40px));margin:auto}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.03;margin:0}h1{font-size:clamp(54px,8vw,112px);letter-spacing:-.035em}h2{font-size:clamp(38px,5vw,66px);letter-spacing:-.025em}h3{line-height:1.2}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#f5e8d8}.eyebrow.dark{color:#8c6844}.site-header{position:fixed;z-index:50;left:0;right:0;top:0;background:rgba(25,22,19,.55);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}.nav-wrap{display:flex;align-items:center;gap:28px;min-height:76px;color:#fff}.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;min-width:185px}.brand strong{font-family:"Playfair Display";font-size:19px}.brand span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;opacity:.75}.nav{display:flex;gap:20px;margin-left:auto}.nav a,.footer-row a{color:inherit;text-decoration:none;font-size:13px}.nav a:hover{opacity:.65}.menu-btn{display:none}.btn{display:inline-flex;align-items:center;gap:18px;border-radius:999px;padding:14px 22px;background:var(--accent2);color:#211a15;text-decoration:none;font-weight:700;font-size:13px;border:1px solid rgba(70,50,30,.08);transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(54,35,20,.16)}.btn-small{padding:11px 17px;white-space:nowrap}.hero{height:min(860px,92vh);min-height:650px;position:relative;display:flex;align-items:flex-end;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,13,.78),rgba(25,18,13,.28) 55%,rgba(25,18,13,.08)),linear-gradient(0deg,rgba(22,17,13,.45),transparent 55%)}.hero-content{position:relative;padding-bottom:76px}.hero .lead{font-size:clamp(18px,2.2vw,29px);max-width:560px;margin:22px 0 32px;color:rgba(255,255,255,.92)}.section{padding:96px 0}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center}.about-photo{border-radius:var(--radius);overflow:hidden;min-height:520px}.about-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}.about-copy p{color:var(--muted);font-size:16px}.about-copy .note{font-size:12px;background:#f3ebe1;border-radius:12px;padding:12px 15px;margin-top:24px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-head>p{max-width:430px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{position:relative;height:340px;border-radius:18px;overflow:hidden;margin:0;background:#ccc;box-shadow:var(--shadow)}.card-wide{grid-column:span 2}.card img{width:100%;height:100%;object-fit:cover;transition:.45s}.card:hover img{transform:scale(1.035)}.card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.card figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:white;display:flex;flex-direction:column}.card figcaption strong{font-size:20px}.card figcaption span{font-size:12px;opacity:.85}.services{background:#eee7de}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}.services-grid article{background:rgba(255,255,255,.62);padding:30px;border:1px solid rgba(100,80,60,.10);border-radius:16px}.services-grid article span{font-family:"Playfair Display";font-size:31px;color:#b78759}.services-grid p{color:var(--muted);font-size:14px}.price{background:var(--dark);color:#fff;padding:64px 0}.price-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:42px;align-items:center}.price-value{font-size:22px}.price-value strong{font-family:"Playfair Display";font-size:clamp(52px,6vw,84px);font-weight:500}.price-grid p{color:#d9d1c9}.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:34px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent2);font-family:"Playfair Display"}.steps h3{font-size:16px;margin:18px 0 8px}.steps p{font-size:12px;color:var(--muted)}.contacts{background:#b88556;color:white;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:45px;align-items:center}.contact-grid h2{font-size:clamp(42px,4.8vw,65px)}.contact-list{display:flex;flex-direction:column;gap:12px}.contact-list a{color:white;text-decoration:none;font-size:21px}.light{background:#fff;color:#2a211a}footer{background:#1f1b17;color:#c7bdb4;padding:24px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}
@media(max-width:980px){.nav{display:none;position:absolute;top:76px;left:20px;right:20px;background:#28231f;padding:18px;border-radius:14px;flex-direction:column}.nav.open{display:flex}.menu-btn{display:block;margin-left:auto;background:none;border:0;color:#fff;font-size:24px}.site-header .btn-small{display:none}.about-grid,.price-grid,.contact-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.card-wide{grid-column:span 2}.services-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr 1fr}.price-value{text-align:left}.about-photo{min-height:360px}.about-photo img{min-height:360px}.contact-grid{gap:22px}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.hero{min-height:610px}.hero-content{padding-bottom:48px}.section{padding:68px 0}.about-grid{gap:28px}.portfolio-grid{grid-template-columns:1fr}.card-wide{grid-column:auto}.card{height:280px}.services-grid,.steps{grid-template-columns:1fr}.section-head{display:block}.contact-list a{font-size:17px}.brand strong{font-size:17px}.brand span{font-size:9px}}

.service-link{font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.service-link:hover{opacity:.72;}

/* Проекты и галереи */
.project-card{display:block;width:100%;padding:0;border:0;text-align:left;font:inherit;cursor:pointer;color:inherit}
.project-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:white;display:flex;flex-direction:column}
.project-caption strong{font-size:20px;line-height:1.25}.project-caption>span{font-size:12px;opacity:.9;margin-top:7px}
.project-card:focus-visible{outline:3px solid #8c6844;outline-offset:4px}
.gallery{width:min(1120px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
.gallery::backdrop{background:rgba(20,16,13,.88)}
.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.gallery-header h2{font-size:clamp(22px,3vw,34px);line-height:1.2}
.gallery-close,.gallery-arrow{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;font:32px/1 Arial,sans-serif}
.gallery-stage{position:relative;display:flex;justify-content:center;align-items:center;height:min(68dvh,740px);background:#eae4dc;border-radius:12px;overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-stage img{display:block;width:100%;height:100%;object-fit:contain}.gallery-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);box-shadow:0 3px 16px #0003}.gallery-prev{left:12px}.gallery-next{right:12px}
.gallery-counter{text-align:center;color:var(--muted);margin:12px 0 0;font-variant-numeric:tabular-nums}
.gallery button:focus-visible{outline:3px solid #8c6844;outline-offset:2px}
@media(max-width:640px){.gallery{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px;border-radius:16px}.gallery-header{gap:8px}.gallery-header h2{font-size:22px}.gallery-stage{height:60dvh}.gallery-arrow{width:44px;height:44px;background:rgba(255,253,249,.92)}.gallery-prev{left:6px}.gallery-next{right:6px}.project-caption strong{font-size:19px}}

/* Стоимость услуг и раскрывающиеся пояснения */
.services-grid .service-price{font-weight:700;color:var(--ink)}
.service-details summary{cursor:pointer;color:var(--ink);font-size:14px;padding:10px 0;min-height:44px}
.service-details summary:focus-visible{outline:2px solid #8c6844;outline-offset:4px;border-radius:4px}
.service-details[open] summary{margin-bottom:8px}
.service-details p{margin:0;padding-top:12px;border-top:1px solid var(--line)}
.price-overview{display:grid;grid-template-columns:1fr 1.35fr;gap:32px 48px;align-items:start}
.price-overview h2{font-size:clamp(38px,5vw,60px)}
.price-list{margin:0;min-width:0}.price-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.price-list dt{color:#d9d1c9}.price-list dd{margin:0;text-align:right;font-weight:600}
.price-note{grid-column:1/-1}.price-note p{color:#d9d1c9;max-width:720px;margin:0 0 22px}
@media(max-width:980px){.price-overview{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){.price-list>div{grid-template-columns:1fr;gap:6px}.price-list dd{text-align:left}}

/* Портрет Виктории: сохраняем размеры блока и акцент на лице. */
.about-photo{height:520px}
.about-photo img{display:block;object-position:50% 12%}
@media(max-width:980px){.about-photo{height:360px}}

/* Кнопки мессенджеров в контактах. */
.messenger-buttons{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px}
.messenger-buttons .btn{justify-content:center;min-height:48px;min-width:140px}
.messenger-buttons .btn:focus-visible{outline:3px solid var(--dark);outline-offset:4px}
@media(max-width:640px){.messenger-buttons{flex-direction:column}.messenger-buttons .btn{width:100%}}
