/* Content additions share the established mineral palette and glass finish. */
.hero-motto { margin-top:22px;font-size:14px;color:#63516f; }
.hero h1 { font-size:clamp(40px,4.3vw,69px);line-height:1.06;letter-spacing:-.055em;margin-top:14px; }
.hero h1 em { font-size:1.55em;line-height:1.05; }
.hero h1 .hero-subject { margin-top:12px;font-size:.64em;letter-spacing:-.03em; }
.hero h1 .hero-region { margin-top:8px;font-size:.36em;line-height:1.45;letter-spacing:0;font-weight:400; }
.hero-description { margin-top:20px;max-width:430px; }
.hero-price { display:flex;flex-direction:column;gap:5px;margin-top:20px;line-height:1.5; }
.hero-price strong { font-size:25px;font-weight:600;letter-spacing:-.025em; }
.hero-price span { font-size:14px;color:#574862; }
.hero-copy { min-height:820px;padding-top:44px; }
.hero { min-height:820px; }
.hero-actions { margin-top:22px; }
.hero-footnote { padding-top:22px; }
.materials h2 { font-size:clamp(35px,3.7vw,60px); }
.material-row:last-child h3::after { content:'ДОПОЛНИТЕЛЬНО';display:block;font-size:10px;letter-spacing:.1em;margin-top:8px;color:#665374; }
.work-large { display:flex;flex-direction:column; }
.work-large figure { flex:1;min-height:430px;height:auto; }
.work-large .work-caption { flex-wrap:wrap;gap:8px 16px; }
.work { display:flex;flex-direction:column; }
.work-case-link { margin-top:auto; }
.work-case-link { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 22px;font-size:14px;color:#594178; }
.work-caption a:hover,.work-case-link:hover,.faq-answer a:hover { text-decoration:underline;text-underline-offset:5px; }
.craft-intro { max-width:520px;margin-top:22px;font-size:16px;line-height:1.85;color:#435b50; }
.craft-copy h2 { font-size:clamp(34px,3.5vw,56px); }
.price-section { position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:radial-gradient(ellipse at 100% 20%,#d9c8eb8c,transparent 65%),linear-gradient(125deg,#cadfd5,#d2dfe4 55%,#d8cde9); }
.price-section::before { content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('/contours.svg') center/cover;opacity:.2; }
.price-copy>p:not(.eyebrow) { max-width:440px;font-size:17px;line-height:1.85;color:#4d5364;margin-top:24px; }
.price-copy h2,.faq-section h2 { margin-top:22px;font-size:clamp(38px,4.4vw,66px); }
.price-copy .text-link { margin-top:20px; }
.price-card { border:var(--glass-edge);border-radius:32px;padding:38px;background:var(--glass);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px); }
.price-label { font-size:11px;letter-spacing:.1em;line-height:1.6;color:#5f4e76; }
.price-value { font-size:24px;margin-top:22px;white-space:nowrap;letter-spacing:-.045em; }
.price-value strong { font-size:clamp(43px,4.6vw,70px);font-weight:500; }
.price-included { margin-top:8px;font-size:15px;color:#4e5e62; }
.price-area { margin-top:28px;padding-top:24px;border-top:1px solid #78688b33; }
.price-area h3 { font-size:19px;font-weight:500; }
.price-area p,.price-timing { font-size:15px;line-height:1.8;color:#515064; }
.price-area p { margin-top:10px; }
.price-timing { margin-top:18px; }
.price-card .button { margin-top:25px; }
.faq-section { display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:radial-gradient(ellipse at 0 0,#e1d6ec,transparent 70%),linear-gradient(135deg,#d5c9e6,#c8d8df); }
.faq-section .section-intro { max-width:320px;margin-top:24px; }
.faq-list { min-width:0; }
.faq-list details { border-bottom:1px solid #725f8638;padding:23px 0; }
.faq-list details:first-child { border-top:1px solid #725f8638; }
.faq-list summary { display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-size:18px;font-weight:500;line-height:1.55; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'';display:block;flex:0 0 32px;width:32px;height:32px;box-sizing:border-box;border:var(--glass-edge);border-radius:50%;background-color:#ffffff40;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-size:12px 1.5px,1.5px 12px;background-position:center;background-repeat:no-repeat; }
.faq-list details[open] summary::after { background-size:12px 1.5px,0 0; }
.faq-list summary:focus-visible { outline:2px solid var(--accent);outline-offset:5px;border-radius:6px; }
.faq-answer { padding:16px 46px 0 0;color:#53485f;font-size:16px;line-height:1.85; }
.faq-answer a { display:inline-block;color:#563b79;text-decoration:underline;text-underline-offset:4px;margin-top:10px; }
.footer { display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:30px;line-height:1.7; }
.footer-brand { align-self:center; }
.footer>div { display:grid;gap:6px; }
.footer>div p { margin:0; }
.footer-links { justify-items:end; }
.case-page { display:flow-root;background:radial-gradient(ellipse at 0 0,#ded0ed,transparent 45%),linear-gradient(140deg,#cec1e2,#c9dcd4); }
.case-header .desktop-nav { margin-left:auto;margin-right:0; }
.case-header .header-button { margin-left:auto; }
.case-main { max-width:1500px;margin:0 auto;padding:45px var(--gutter) 95px; }
.breadcrumbs { display:flex;flex-wrap:wrap;gap:8px 14px;font-size:14px;line-height:1.7;color:#62516f;margin-bottom:42px; }
.breadcrumbs a { text-decoration:underline;text-underline-offset:4px; }
.case-intro { display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:38px; }
.case-intro h1 { font-size:clamp(42px,5.2vw,80px);text-transform:none;line-height:1.04;margin-top:18px;font-family:var(--display); }
.case-intro h1 em { display:block;font-size:inherit; }
.case-lead { font-size:18px;line-height:1.8;color:#574c62; }
.case-facts { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0 40px;padding:26px;border:var(--glass-edge);border-radius:24px;background:var(--glass);box-shadow:var(--glass-shadow); }
.case-facts dt { font-size:12px;color:#64546f;margin-bottom:8px; }
.case-facts dd { margin:0;font-size:21px;font-weight:500; }
.case-cover { margin:0;border-radius:32px;overflow:hidden;background:#b2a9bd; }
.case-cover img { width:100%;height:clamp(400px,53vw,720px);object-fit:cover;object-position:50% 60%; }
.case-cover figcaption,.case-gallery figcaption { padding:16px 22px;font-size:14px;line-height:1.7;color:#51465c;background:#ffffff54; }
.case-cover-portrait { max-width:640px;margin-inline:auto; }
.case-cover.case-cover-portrait img { height:auto;object-fit:contain; }
.case-story { display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:60px 0; }
.case-story h2 { font-size:34px;letter-spacing:-.035em; }
.case-story p { font-size:17px;line-height:1.85;margin-top:18px;color:#53495e; }
.case-gallery { display:grid;grid-template-columns:1fr 1fr;gap:26px; }
.case-gallery figure { overflow:hidden;border:var(--glass-edge);border-radius:27px;background:#ffffff35; }
.case-gallery img { width:100%;height:620px;object-fit:cover; }
.case-cta { margin-top:60px;border:var(--glass-edge);border-radius:30px;padding:40px;background:var(--glass);box-shadow:var(--glass-shadow);display:flex;align-items:center;justify-content:space-between;gap:30px; }
.case-cta h2 { font-size:36px; }
.case-cta p { max-width:570px;font-size:16px;line-height:1.8;margin-top:15px;color:#53495e; }
.case-cta .button { flex-shrink:0; }
.case-story a,.case-cta p a { text-decoration:underline;text-underline-offset:4px;color:#594178; }
.related-section { margin-top:60px; }
.related-section h2 { font-size:clamp(27px,3vw,40px);margin-top:14px;letter-spacing:-.035em; }
.related-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:26px; }
.related-project { display:flex;flex-direction:column;overflow:hidden;border:var(--glass-edge);border-radius:24px;background:var(--glass);box-shadow:var(--glass-shadow);transition:transform .2s; }
.related-project:hover { transform:translateY(-4px); }
.related-project img { width:100%;height:180px;object-fit:cover; }
.related-project span { font-size:18px;padding:18px 18px 6px; }
.related-project small { padding:0 18px 18px;font-size:14px;color:#5c4b6b; }
.price-page h1 { font-size:clamp(36px,4.6vw,70px); }
.pricing-overview,.pricing-timing { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin:45px 0 60px; }
.pricing-overview .price-card { background:linear-gradient(135deg,#e2efdf99,#e5d8f1b3); }
.pricing-explanation h2,.pricing-timing h2 { font-size:clamp(30px,3vw,44px);letter-spacing:-.035em; }
.pricing-list { margin:24px 0 0;padding-left:22px;font-size:17px;line-height:1.85;color:#53495e; }
.pricing-list li { padding-left:6px;margin-top:16px; }
.pricing-timing { padding:35px;border:var(--glass-edge);border-radius:30px;background:linear-gradient(120deg,#d4e7dfb3,#ded1ee99); }
.pricing-timing h2 { margin-top:16px; }
.pricing-timing p:not(.eyebrow) { font-size:17px;line-height:1.85;color:#53495e; }
.pricing-timing p+p { margin-top:18px; }
.price-copy .price-detail-link { margin-top:12px;font-size:15px; }
@media(min-width:1600px) { .hero-copy { padding-top:58px; }.hero,.hero-copy { min-height:880px; } }
@media(max-width:1100px) {
  .price-section,.faq-section { gap:35px; }.price-card { padding:28px; }
  .hero h1 { font-size:clamp(36px,4.4vw,50px); }.hero h1 .hero-region { font-size:.44em; }
  .hero-copy { min-height:800px;padding-top:36px; }.hero { min-height:800px; }
  .case-gallery img { height:470px; }.case-cta { flex-direction:column;align-items:flex-start; }
}
@media(max-width:850px) {
  .pricing-overview,.pricing-timing { grid-template-columns:1fr;gap:28px; }
  .pricing-timing { padding:25px; }
  .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .related-project span { font-size:16px; }
  .footer { grid-template-columns:1fr;text-align:center;gap:24px; }
  .footer-brand { width:auto;justify-self:center;justify-content:center; }
  .footer .footer-wordmark { text-align:center; }
  .footer-wordmark small { max-width:210px; }
  .footer>div { justify-items:center; }
  .footer .footer-links { display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px; }
  .hero-actions { width:100%;align-items:center;justify-content:center; }
  .hero-actions .button,.hero-actions .text-link { width:min(100%,320px);justify-content:center; }
  .hero,.hero-copy { min-height:0; }.hero h1 { font-size:clamp(35px,8.5vw,64px); }
  .hero h1 .hero-region { font-size:.43em; }.hero-motto { margin-top:20px;font-size:13px; }
  .hero-description { max-width:470px; }.hero-price strong { font-size:24px; }
  .hero-visual { height:440px; }.hero-footnote { display:none; }
  .price-section,.faq-section { grid-template-columns:1fr;gap:32px; }.price-copy>p:not(.eyebrow) { font-size:16px; }
  .price-card { padding:28px; }.price-value strong { font-size:56px; }.price-value { font-size:22px; }
  .faq-section .section-intro { max-width:420px; }.faq-list summary { font-size:17px; }
  .faq-answer { padding-right:12px;font-size:15px; }.work-large figure { min-height:0;flex:auto; }
  .case-main { padding-top:28px;padding-bottom:60px; }.breadcrumbs { margin-bottom:28px; }
  .case-intro,.case-story { grid-template-columns:1fr;gap:26px; }.case-intro h1 { font-size:clamp(41px,9vw,70px); }
  .case-facts { gap:18px;padding:22px;grid-template-columns:1fr; }.case-facts>div { display:flex;align-items:baseline;justify-content:space-between;gap:16px; }
  .case-facts dt { margin:0; }.case-facts dd { font-size:19px;text-align:right; }
  .case-cover img { height:560px; }.case-story { margin:40px 0; }.case-story h2 { font-size:30px; }
  .case-gallery { grid-template-columns:1fr;gap:22px; }.case-gallery img { height:auto;max-height:740px; }
  .case-cta { padding:28px;margin-top:40px; }.case-cta h2 { font-size:31px; }
}
@media(max-width:600px) {
  .related-grid { grid-template-columns:1fr; }
  .related-project img { height:210px; }
  .related-section { margin-top:40px; }
  .case-cover-portrait img { height:auto; }
  :root { --mobile-safe-bottom:env(safe-area-inset-bottom,0px); }
  .mobile-contact { left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + var(--mobile-safe-bottom));margin:0;padding:6px;gap:6px;grid-template-columns:1fr 1fr;border-radius:23px;align-items:stretch; }
  .mobile-contact a { min-width:0;min-height:54px;margin:0;padding:12px 10px;gap:8px;border:1px solid #ffffff8c;border-radius:17px;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap; }
  .mobile-contact a:first-child { background:linear-gradient(130deg,#ffffff85,#eee4fa55);color:#4c3a67;box-shadow:inset 0 1px 0 #ffffffa6; }
  .mobile-contact a:last-child { border-color:#ffffff77; }
  .mobile-contact .ui-icon { width:19px;height:19px;flex-shrink:0; }
  .footer { padding-bottom:calc(110px + var(--mobile-safe-bottom));gap:22px; }
}
@media(max-width:360px) { .mobile-contact a { font-size:13px;gap:6px;padding:12px 8px; } }
@media(max-width:360px) {
  .hero h1 { font-size:32px; }.hero h1 .hero-region { font-size:16px; }
  .price-card { padding:23px; }.price-value { font-size:19px; }.price-value strong { font-size:46px; }
  .price-card .button,.case-cta .button { font-size:13px;padding:16px;gap:12px; }
  .case-facts>div { flex-direction:column;gap:7px; }.case-intro h1 { font-size:37px; }
  .case-cover img { height:430px; }
}
