/* Krum — pearl, ink and silver. Visual refresh, October 2026. */
:root { --paper:#fcfcfb; --mist:#f0f2f4; --night:#081526; --navy:#173a62; --navy-2:#285481; --line:#d9dfe5; --radius:12px; --header-h:76px; }
::selection { background:#bfcfe0; color:#081526; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none !important; }
.wrap { max-width:1280px; padding-inline:clamp(22px,5vw,64px); }
.section { padding-block:clamp(76px,9vw,120px); }
.section-head { max-width:43rem; }
.eyebrow { font-size:.72rem; letter-spacing:.22em; }
h2 { font-size:clamp(2.6rem,4.6vw,4.2rem); letter-spacing:-.035em; line-height:1.06; }
h2 em { font-weight:400; }
.lead { font-size:1.15rem; }
.btn { min-height:50px; padding:0 1.5em; font-weight:500; }
.btn-sm { min-height:42px; }
.btn-silver { background:#e9edf0; box-shadow:inset 0 1px 0 #fff; }
.btn-silver:hover { background:white; box-shadow:0 5px 25px #a9bfd21f; }
.metal { background:linear-gradient(120deg,#fff 0%,#dbe0e6 50%,#9baab9 100%); background-clip:text; -webkit-background-clip:text; }
.site-header { background:#0b0a09ed; backdrop-filter:blur(18px); }
.nav { gap:24px; }
.nav a { position:relative; font-size:.88rem; }
.nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:#d0dce7; transition:right .25s; }
.nav a:hover::after,.nav a[aria-current]::after { right:0; }
.brand img { width:42px; height:42px; }
.brand span { font-size:1.35rem; }
.menu-toggle { display:none; }
.hero { min-height:min(790px,calc(100svh - var(--header-h))); }
.hero-copy { max-width:36rem; padding-block:90px 105px; }
.hero-name { font-size:clamp(5rem,8.6vw,8rem); letter-spacing:-.045em; line-height:.92; }
.hero-role { font-size:1.7rem; margin-top:24px; }
.hero-lead { max-width:27rem; color:#acb2ba; font-size:1.05rem; }
.hero-photo { width:min(58%,850px); }
.hero-photo img { object-position:54% 22%; }
.hero-photo::after { background:linear-gradient(90deg,var(--ink),#0b0a09b3 12%,#0b0a0900 37%),linear-gradient(0deg,var(--ink),#0b0a0900 18%); }
.hero-orbit { position:absolute; width:720px; aspect-ratio:1; border:1px solid #aec4dd13; border-radius:50%; left:-330px; top:80px; z-index:-1; pointer-events:none; }
.hero-orbit::before,.hero-orbit::after { content:""; position:absolute; inset:45px; border:1px solid #aec4dd10; border-radius:50%; }
.hero-orbit::after { inset:90px; }
.hero-orbit span { position:absolute; width:6px; height:6px; background:#c0ceda; border-radius:50%; left:80%; top:10%; box-shadow:0 0 20px #cadbea99; }
.hero-note { display:flex; align-items:center; gap:9px; color:#a4aab1; letter-spacing:.01em; font-size:.8rem; }
.status-dot { width:5px; height:5px; border-radius:50%; background:#adbcc9; box-shadow:0 0 0 4px #ffffff08; }
.small-play { font-size:.68rem; margin-right:9px; }
.video-section { background:#f1f3f5; overflow:hidden; padding-bottom:75px; }
.video-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:36px; }
.video-heading .lead { max-width:38rem; font-size:1.05rem; margin-top:16px; }
.video-count { display:inline-grid; place-items:center; font-size:.65rem; letter-spacing:0; width:26px; height:26px; border:1px solid #b9c5d0; border-radius:50%; margin-left:5px; }
.rail-arrows { display:flex; gap:10px; padding-bottom:2px; }
.rail-arrow { border:1px solid #bcc8d2; border-radius:50%; width:46px; height:46px; background:transparent; font-size:1.4rem; cursor:pointer; transition:background .2s,color .2s,transform .2s; color:var(--navy); }
.rail-arrow:hover:enabled { background:var(--navy); color:white; transform:translateX(2px); }
.rail-arrow:disabled { opacity:.3; cursor:default; }
.video-rail { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:3px 2px 20px; scrollbar-width:thin; scrollbar-color:#9eafbd #dde3e9; scroll-padding-inline:2px; }
.video-rail:focus-visible { outline-offset:8px; }
.video-card { flex:0 0 calc((100% - 66px)/4); min-width:0; scroll-snap-align:start; }
.video-frame { position:relative; aspect-ratio:9/16; border-radius:13px; overflow:hidden; background:#0b1420; box-shadow:0 9px 18px #15294112; }
.video-frame video { display:block; width:100%; height:100%; object-fit:contain; }
.video-cover { position:absolute; inset:0; width:100%; padding:16px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; border:0; background:linear-gradient(180deg,#0004 0%,#0000 40%,#0000 60%,#000b 100%); color:#fff; cursor:pointer; }
.video-cover:focus-visible { outline:3px solid white; outline-offset:-6px; }
.video-tag { padding:5px 10px; border:1px solid #ffffff55; border-radius:30px; background:#0b142050; backdrop-filter:blur(8px); font-size:.65rem; letter-spacing:.02em; }
.play-circle { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:62px; height:62px; display:grid; place-items:center; border:1px solid #ffffffa8; border-radius:50%; background:#ffffff20; backdrop-filter:blur(10px); transition:background .2s,scale .2s; }
.play-circle svg { width:24px; height:24px; fill:white; }
.video-cover:hover .play-circle { background:#ffffff44; scale:1.08; }
.video-bottom { display:flex; justify-content:space-between; width:100%; gap:8px; font-size:.72rem; }
.video-caption { display:flex; gap:12px; padding-top:18px; }
.video-index { color:#748797; font:500 .7rem/1.5 var(--sans); padding-top:4px; }
.video-caption h3 { color:var(--navy); font-size:1.4rem; font-weight:600; line-height:1.15; letter-spacing:-.01em; }
.video-caption p { color:#67727f; font-size:.78rem; line-height:1.4; margin-top:8px; }
.rail-footer { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-top:22px; color:#5c6b79; font-size:.75rem; }
.rail-footer>span:last-child { margin-left:auto; }
.rail-footer>span:last-child>span { font-size:1.3rem; margin-left:10px; }
.rail-position { font-variant-numeric:tabular-nums; letter-spacing:.12em; }
.video-error { margin-top:16px; color:#8e3030; }
.about { gap:clamp(50px,9vw,130px); }
.about-photo { max-width:390px; }
.about-photo img { aspect-ratio:3/4; object-position:50% 24%; border-radius:200px 200px 8px 8px; }
.about-photo::before { inset:-12px 12px 12px -12px; border-color:#b5c2cf; border-radius:220px 220px 10px 10px; }
.about-photo::after { content:""; position:absolute; inset:30px -25px -25px 30px; border:1px solid #dee4ea; border-radius:220px 220px 10px 10px; z-index:-1; }
.portrait-stamp { position:absolute; bottom:34px; right:-35px; z-index:2; display:flex; align-items:center; gap:12px; background:#f9faf9ed; padding:16px 22px 16px 15px; border:1px solid #d8e1e7; backdrop-filter:blur(10px); box-shadow:0 12px 32px #1a33461a; border-radius:8px; font:500 .75rem/1.5 var(--sans); color:var(--navy); }
.portrait-stamp img { width:44px; height:44px; object-fit:contain; border-radius:0; background:none; }
.about-copy .lead { font-size:1.18rem; }
.about-copy p:not(.lead):not(.eyebrow) { font-size:1rem; }
.text-link { display:inline-flex; align-items:center; gap:25px; margin-top:28px; padding-bottom:7px; border-bottom:1px solid #adbdcc; color:var(--navy); font-size:.9rem; text-decoration:none; }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translate(3px,-3px); }
.has-mark::before { display:none; }
.tradition-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.energy-art { position:relative; }
.energy-art img { width:100%; aspect-ratio:1.12; object-fit:cover; border-radius:50% 50% 8px 8px; }
.energy-art::before { content:""; position:absolute; inset:-12px 12px 12px -12px; border:1px solid #bec9d2; border-radius:50% 50% 8px 8px; pointer-events:none; }
.energy-art figcaption { font-size:.64rem; color:#6e7985; text-align:right; margin-top:10px; }
.features { gap:0; margin-top:62px; border-top:1px solid #d1dae2; }
.feature { background:none; border:0; border-radius:0; padding:30px 28px 0; }
.feature:first-child { padding-left:0; }
.feature:last-child { padding-right:0; }
.feature+.feature { border-left:1px solid #d1dae2; }
.feature-icon { width:42px; height:42px; background:none; box-shadow:none; border:1px solid #b9c7d5; margin-bottom:20px; }
.feature h3 { font-size:1.5rem; }
.feature p { font-size:.94rem; }
#proizhod { padding-top:0; }
.mountain-art { position:relative; margin:0 calc(-1 * clamp(22px,5vw,64px)) 70px; overflow:hidden; }
.mountain-art img { width:100%; height:420px; object-fit:cover; object-position:50% 46%; }
.mountain-art::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#07182bbf,transparent 70%); pointer-events:none; }
.mountain-art figcaption { position:absolute; inset:auto 6% 34px; z-index:1; color:#eef2f6; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.mountain-art figcaption>span:first-child { font:italic 400 clamp(3rem,6vw,5rem)/1 var(--serif); }
.mountain-art figcaption>span:last-child { font-size:.7rem; }
.origin-head { max-width:49rem; }
.founders { gap:35px; margin-top:38px; }
.founder { border:0; border-top:1px solid #bac7d2; border-radius:0; background:none; padding:28px 0 0; }
.monogram { float:left; width:42px; height:42px; font-size:1.3rem; margin:0 14px 40px 0; box-shadow:none; background:#e8edf1; }
.founder h3 { font-size:1.45rem; }
.founder p { font-size:.9rem; }
.path { margin-top:60px; }
.path-steps p { font-size:.93rem; }
.section-navy { background:linear-gradient(90deg,#081526ef,#081526dd),url('silver-current.webp') center/cover; }
.section-navy .section-head { max-width:none; }
.group-num { font-size:clamp(4rem,8vw,7rem); }
.groups-note { font-size:1.17rem; }
.methods { gap:25px; }
.method { border-color:#d5dde5; padding:0 28px 30px; border-radius:8px; background:#f6f7f8; transition:transform .3s,box-shadow .3s; }
.method:hover { transform:translateY(-5px); box-shadow:0 15px 35px #142d4810; }
.method::before { display:none; }
.method-art { position:relative; height:175px; margin-bottom:28px; border-bottom:1px solid #d5dde5; overflow:hidden; }
.method-art::after { content:""; position:absolute; inset:12%; background:radial-gradient(ellipse,#b5c5d72e,transparent 70%); }
.method-art i { position:absolute; display:block; border:1px solid #4c6b88; border-radius:50%; }
.art-abundance i { width:90px; height:90px; top:42px; left:calc(50% - 45px); }
.art-abundance i:nth-child(2) { transform:translate(-26px,0); border-color:#9fb0c1; }
.art-abundance i:nth-child(3) { transform:translate(26px,0); border-color:#9fb0c1; }
.art-balance i { width:90px; height:90px; top:42px; left:calc(50% - 68px); background:#dce4ec88; }
.art-balance i:nth-child(2) { left:calc(50% - 22px); background:#274b6e11; }
.art-peace i { width:120px; height:48px; left:calc(50% - 60px); top:85px; border-color:#91a7bb; }
.art-peace i:nth-child(2) { width:88px; height:35px; left:calc(50% - 44px); top:66px; border-color:#5d7a96; }
.art-peace i:nth-child(3) { width:56px; height:28px; left:calc(50% - 28px); top:45px; border-color:#284e72; }
.method-index { color:#536d84; font-size:.66rem; letter-spacing:.13em; }
.method h3 { font-size:1.9rem; margin-top:16px; }
.method p { font-size:.95rem; }
.personal { background:#eaf0f4; color:var(--navy); border-radius:8px; padding:22px 28px; }
.personal-label { color:#50667d; font-size:.68rem; }
.pill { color:var(--navy); background:none; border-color:#bdcad5; font-size:1.15rem; }
.personal-note { color:#52687d; font-size:.85rem; }
.quote { background:radial-gradient(ellipse at 90% 100%,#173a62 0%,transparent 60%),#081526; }
.quote-inner { max-width:52rem; }
.quote-badge { width:50px; height:50px; }
.quote-lead { font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.3; }
.quote-details { margin-top:30px; }
.quote-details summary { display:inline-flex; gap:40px; align-items:center; cursor:pointer; padding-block:8px; border-bottom:1px solid #526273; font:.88rem/1.5 var(--sans); list-style:none; color:#c1cdd8; }
.quote-details summary::-webkit-details-marker { display:none; }
.quote-details summary span { font-size:1.4rem; font-weight:400; }
.quote-details[open] summary span { transform:rotate(45deg); }
.booking-card { background:radial-gradient(ellipse at 100% 0,#31577a 0%,transparent 65%),#142e4b; border:1px solid #48617a; border-radius:12px; }
.booking-card .badge { width:60px; height:60px; }
.step-num { background:#e4eaf0; box-shadow:none; font-size:1.2rem; width:44px; height:44px; }
.todo { border-radius:5px; }
.site-footer { background:#0b1017; }
.footer-nav { gap:18px; }
@media(prefers-reduced-motion:no-preference) {
  .hero-orbit { animation:orbit 100s linear infinite; }
  .reveal-ready.is-visible { animation:section-arrive .7s ease both; }
  @keyframes section-arrive { from { opacity:.3; transform:translateY(16px); } to { opacity:1; transform:none; } }
  @keyframes orbit { to { transform:rotate(360deg); } }
}
@media(min-width:1500px) { .hero-photo { right:calc((100% - 1440px)/2); } }
@media(max-width:1100px) {
  .nav { gap:16px; }
  .brand span { font-size:1.22rem; }
  .header-inner { gap:18px; }
  .video-card { flex-basis:calc((100% - 44px)/3.2); }
  .hero-copy { max-width:31rem; }
}
@media(max-width:1000px) {
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; background:none; border:1px solid #ffffff30; border-radius:50%; width:42px; height:42px; align-items:center; color:white; cursor:pointer; order:3; flex-shrink:0; }
  .menu-toggle span { display:block; width:16px; height:1px; background:currentColor; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .nav.is-open { display:flex; position:absolute; inset:var(--header-h) 0 auto; background:#101720; padding:24px 5vw 30px; flex-wrap:wrap; gap:25px; box-shadow:0 12px 20px #0003; border-top:1px solid #ffffff12; }
  .tradition-intro { gap:40px; }
}
@media(max-width:860px) {
  .hero { min-height:0; }
  .hero-photo { width:100%; max-height:650px; aspect-ratio:4/5; }
  .hero-photo img { object-position:50% 15%; }
  .hero-photo::after { background:linear-gradient(180deg,#0b0a091a 0%,#0b0a0900 35%,#0b0a0977 60%,var(--ink) 92%); }
  .hero-copy { margin-top:-255px; padding:0 0 70px; max-width:36rem; }
  .hero-name { font-size:clamp(4.8rem,12vw,7rem); }
  .hero-role { font-size:1.5rem; }
  .hero-orbit { top:380px; }
  .hero-lead { max-width:30rem; }
  .video-card { flex-basis:calc((100% - 36px)/2.5); }
  .video-rail { gap:18px; }
  .video-caption h3 { font-size:1.35rem; }
  .about { grid-template-columns:.85fr 1fr; gap:50px; }
  .about-photo { max-width:100%; }
  .about-copy h2 { font-size:2.8rem; }
  .portrait-stamp { right:-20px; padding:12px; }
  .tradition-intro { grid-template-columns:1fr 1fr; }
  .features { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .feature { padding:24px 18px 0; }
  .feature h3 { font-size:1.3rem; }
  .founders { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .monogram { float:none; margin-bottom:18px; }
  .methods { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .method { padding:0 18px 24px; }
  .method h3 { font-size:1.55rem; overflow-wrap:anywhere; }
  .personal-note { width:100%; }
}
@media(max-width:600px) {
  :root { --header-h:68px; }
  .header-inner { gap:10px; }
  .brand { gap:8px; }
  .brand img { width:32px; height:32px; }
  .brand span { font-size:1.08rem; }
  .site-header .btn-sm { font-size:.72rem; min-height:36px; padding-inline:12px; }
  .menu-toggle { width:34px; height:34px; }
  .hero-photo { max-height:560px; aspect-ratio:4/5; }
  .hero-copy { margin-top:-145px; padding-bottom:48px; }
  .hero-copy .eyebrow { font-size:.6rem; letter-spacing:.17em; }
  .hero-name { font-size:4.65rem; }
  .hero-role { font-size:1.35rem; margin-top:16px; }
  .hero-lead { font-size:1rem; line-height:1.6; margin-top:16px; }
  .hero-actions { gap:10px; margin-top:26px; }
  .hero-actions .btn { font-size:.84rem; padding-inline:18px; min-height:46px; }
  .hero-note { font-size:.73rem; }
  .video-section { padding-block:55px 45px; }
  .video-heading { align-items:start; gap:12px; margin-bottom:25px; }
  .video-heading h2 { font-size:2.7rem; }
  .video-heading .lead { font-size:.95rem; }
  .video-heading .eyebrow { font-size:.62rem; gap:8px; }
  .video-heading .eyebrow::before { width:18px; }
  .video-count { width:22px; height:22px; }
  .rail-arrows { gap:6px; padding-top:48px; }
  .rail-arrow { width:34px; height:34px; font-size:1.1rem; }
  .video-card { flex-basis:73%; }
  .video-rail { gap:16px; margin-right:-22px; padding-right:22px; }
  .video-frame { border-radius:10px; }
  .video-caption h3 { font-size:1.5rem; }
  .rail-footer { font-size:.67rem; margin-top:16px; flex-wrap:wrap; gap:10px; }
  .rail-footer>span:first-child { flex:1; }
  .rail-footer>span:last-child { width:100%; margin-left:0; }
  .about { grid-template-columns:1fr; gap:55px; }
  .about-photo { max-width:270px; margin-inline:auto; }
  .about-copy h2 { font-size:3rem; }
  .portrait-stamp { right:-25px; bottom:24px; }
  .tradition-intro { grid-template-columns:1fr; gap:40px; }
  .energy-art { margin:0 0 0 12px; }
  .energy-art img { aspect-ratio:1.15; }
  .features { grid-template-columns:1fr; margin-top:36px; }
  .feature,.feature:first-child,.feature:last-child { padding:24px 0; }
  .feature+.feature { border-left:0; border-top:1px solid #d1dae2; }
  .feature-icon { float:left; margin:0 18px 20px 0; }
  .feature h3 { font-size:1.5rem; }
  .feature p { margin-left:60px; }
  .mountain-art { margin-bottom:50px; }
  .mountain-art img { height:330px; }
  .mountain-art figcaption { inset:auto 22px 25px; display:block; }
  .mountain-art figcaption>span { display:block; }
  .mountain-art figcaption>span:last-child { margin-top:15px; font-size:.6rem; }
  .founders { grid-template-columns:1fr; gap:22px; }
  .founder { padding-top:22px; }
  .monogram { float:left; margin:0 16px 28px 0; }
  .path { margin-top:44px; }
  .group-label { font-size:.68rem; }
  .methods { grid-template-columns:1fr; gap:20px; }
  .method { padding:0 26px 30px; }
  .method h3 { font-size:2rem; }
  .method-art { height:160px; }
  .personal { padding:24px; gap:18px; }
  .personal-label { width:100%; }
  .pill { padding:10px 18px; }
  .quote blockquote { padding-left:22px; }
  .quote-details summary { gap:20px; font-size:.8rem; }
  .booking { gap:40px; }
  .booking-card { padding:30px 24px; }
  .footer-top { gap:30px; }
  .footer-nav { gap:12px 20px; }
}
@media(max-width:370px) {
  .brand span { display:none; }
  .about-photo { max-width:calc(100% - 20px); }
  .hero-name { font-size:4.2rem; }
  .hero-actions .btn { padding-inline:13px; }
  .video-heading { flex-wrap:wrap; }
  .rail-arrows { padding-top:0; margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
