/* Shared winter sections; accepted homepage composition stays intact. */
#kazan-holiday-studio.ks-inner{--si-line:#d8ebf5;--si-ink:#205372;--si-muted:#58788e}
#kazan-holiday-studio.ks-inner main{min-width:0}
#kazan-holiday-studio .si-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:30px;font-size:13px;line-height:1.7;color:#607f95}
#kazan-holiday-studio .si-breadcrumb a{text-decoration:none;color:#397da4}
#kazan-holiday-studio .si-breadcrumb a:hover{text-decoration:underline}
#kazan-holiday-studio .si-breadcrumb span:last-child{max-width:100%;overflow-wrap:anywhere}
#kazan-holiday-studio .si-title{padding-top:42px;padding-bottom:48px;position:relative}
#kazan-holiday-studio .si-title h1{max-width:1040px;margin:15px 0 20px;font:500 clamp(38px,4.5vw,64px)/1.13 var(--ks-display);letter-spacing:-.045em;text-wrap:balance;color:#205372}
#kazan-holiday-studio .si-title::after{content:'❄';position:absolute;right:15px;top:17px;font-size:110px;color:#5ea8cc0d;pointer-events:none;z-index:0}
#kazan-holiday-studio .si-title>*{position:relative;z-index:1}
#kazan-holiday-studio .si-lead{font-size:18px;line-height:1.8;max-width:650px;color:#58788e;margin:0}
#kazan-holiday-studio .si-about-recovered{padding-bottom:12px}
#kazan-holiday-studio .si-about-grid{display:grid;grid-template-columns:minmax(245px,.75fr) minmax(0,1.5fr);gap:76px;align-items:center}
#kazan-holiday-studio .si-memory{margin:0;max-width:310px;position:relative;transform:rotate(-2deg);padding:16px 16px 22px;background:#fff;box-shadow:0 16px 50px #3b799018,0 0 0 1px #dceaf3;border-radius:3px}
#kazan-holiday-studio .si-memory::before,#kazan-holiday-studio .si-memory::after{content:'';position:absolute;width:80px;height:24px;background:#e7f1f6b5;top:-9px;left:calc(50% - 40px);transform:rotate(-5deg);box-shadow:0 1px 2px #7790a009;pointer-events:none}
#kazan-holiday-studio .si-memory::after{top:auto;bottom:-8px;transform:rotate(4deg)}
#kazan-holiday-studio .si-memory button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
#kazan-holiday-studio .si-memory img{display:block;width:100%;height:auto;border-radius:1px}
#kazan-holiday-studio .si-memory figcaption{font:italic 22px/1.5 var(--ks-display);text-align:center;color:#5c8299;margin:17px 0 0}
#kazan-holiday-studio .si-about-copy{font-size:17px;line-height:1.95;color:#53778f}
#kazan-holiday-studio .si-about-copy p{margin:0 0 23px}
#kazan-holiday-studio .si-about-copy p:first-child{font:500 24px/1.65 var(--ks-display);color:#2c607d}
#kazan-holiday-studio .si-program-letter{margin-top:70px;padding:35px 42px 37px;background:linear-gradient(115deg,#eaf6fd,#f9fcff 85%);border:1px solid var(--si-line);border-radius:26px;position:relative;overflow:hidden}
#kazan-holiday-studio .si-program-letter h2{font:500 30px/1.3 var(--ks-display);margin:0 0 17px;letter-spacing:-.025em}
#kazan-holiday-studio .si-program-letter p{max-width:980px;margin:0;font-size:17px;line-height:1.95;color:#53778f}
#kazan-holiday-studio .si-gallery{padding-bottom:88px}
#kazan-holiday-studio .si-gallery-featured{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:26px}
#kazan-holiday-studio .si-gallery-columns{columns:3;column-gap:24px}
#kazan-holiday-studio .si-album-photo{display:block;break-inside:avoid;margin:0 0 26px;padding:10px;background:#fff;box-shadow:0 8px 26px #3e789017,0 0 0 1px #dfedf5;border-radius:8px;position:relative;transition:transform .2s,box-shadow .2s}
#kazan-holiday-studio .si-gallery-featured .si-album-photo{margin-bottom:0;padding:12px}
#kazan-holiday-studio .si-album-photo:hover{transform:translateY(-4px);box-shadow:0 16px 38px #3e789026,0 0 0 1px #cce4f1}
#kazan-holiday-studio .si-album-photo button{display:block;width:100%;padding:0;border:0;background:#eff6fa;cursor:zoom-in;position:relative;border-radius:3px;overflow:hidden}
#kazan-holiday-studio .si-album-photo img{display:block;width:100%;height:auto;object-fit:contain}
#kazan-holiday-studio .si-album-photo figcaption{font:italic 20px/1.4 var(--ks-display);text-align:center;color:#6a8da1;padding:14px 0 5px}
#kazan-holiday-studio .si-photo-zoom{position:absolute;right:11px;bottom:11px;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#244c6333;color:#ffffffdf;line-height:0;border:1px solid #ffffff25;backdrop-filter:blur(2px);pointer-events:none}
#kazan-holiday-studio .si-photo-zoom svg{display:block;width:20px;height:20px;filter:drop-shadow(0 1px 2px #173c5366)}
#kazan-holiday-studio .si-photo-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px;color:#557b93;font-size:14px}
#kazan-holiday-studio .si-photo-controls .ks-round-button{width:42px;height:42px;font-size:23px}
#kazan-holiday-studio .ks-photo-dialog:has(.si-photo-controls)>img{max-height:calc(88vh - 153px);object-fit:contain;width:100%}
#kazan-holiday-studio .si-collection-links{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
#kazan-holiday-studio .si-collection-links a{padding:12px 20px;border-radius:30px;border:1px solid #cfe6f2;color:#33789f;background:#f2faff;font-size:14px;text-decoration:none}
#kazan-holiday-studio .si-collection-links a:hover{background:#e3f3fd}
#kazan-holiday-studio .si-article-index{padding-bottom:80px}
#kazan-holiday-studio .si-article-index section+section{margin-top:64px}
#kazan-holiday-studio .si-article-index h2{font:500 34px/1.3 var(--ks-display);margin:0 0 29px;letter-spacing:-.025em}
#kazan-holiday-studio .si-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
#kazan-holiday-studio .si-article-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dcecf5;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 8px 30px #6290ab09;transition:transform .2s,box-shadow .2s}
#kazan-holiday-studio .si-article-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #6290ab1c}
#kazan-holiday-studio .si-article-card>div:last-child{display:flex;flex:1;flex-direction:column;padding:25px 27px 28px}
#kazan-holiday-studio .si-card-art{height:136px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 25% 20%,#fff 0,transparent 60%),linear-gradient(135deg,#e7f6ff,#d0eafa);overflow:hidden}
#kazan-holiday-studio .si-card-art::before,#kazan-holiday-studio .si-card-art::after{content:'';position:absolute;inset:auto -10% -40px;height:100px;background:#ffffff96;border-radius:50%}
#kazan-holiday-studio .si-card-art::after{inset:auto -40% -64px 30%;background:#fff}
#kazan-holiday-studio .si-card-art span{font-size:86px;line-height:1;transform:rotate(15deg);color:#7ebcdb66;position:relative;z-index:1}
#kazan-holiday-studio .si-card-art-1{background:radial-gradient(ellipse at 70% 5%,#fff 0,transparent 65%),linear-gradient(135deg,#edf7fb,#c9e0ef)}
#kazan-holiday-studio .si-card-art-1 span{transform:scale(.8) rotate(-18deg)}
#kazan-holiday-studio .si-card-art-2{background:linear-gradient(140deg,#e8f3fc,#f6fbfd)}
#kazan-holiday-studio .si-card-image{height:170px;background:#e9f5fc}
#kazan-holiday-studio .si-card-image img{display:block;width:100%;height:100%;object-fit:cover}
#kazan-holiday-studio .si-card-category{font-size:11px!important;letter-spacing:.09em;text-transform:uppercase;color:#5c8aa5!important;margin:0 0 13px!important;line-height:1.7!important}
#kazan-holiday-studio .si-article-card h3{font:500 24px/1.4 var(--ks-display);margin:0 0 14px;letter-spacing:-.025em}
#kazan-holiday-studio .si-article-card h3 a{color:#235674;text-decoration:none}
#kazan-holiday-studio .si-article-card h3 a:hover{color:#1c80b5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
#kazan-holiday-studio .si-article-card p{color:#638096;font-size:14px;line-height:1.85;margin:0 0 25px}
#kazan-holiday-studio .si-article-card .ks-text-link{margin-top:auto;font-size:14px}
#kazan-holiday-studio.si-article .si-title h1{font-size:clamp(34px,4vw,54px);max-width:980px;line-height:1.23;text-wrap:pretty}
#kazan-holiday-studio .si-article-date{font-size:13px;color:#66869c;margin:20px 0 0}
#kazan-holiday-studio .si-article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(0,260px);gap:70px;align-items:start;padding-bottom:45px}
#kazan-holiday-studio .si-prose{font-size:17px;line-height:1.95;color:#476e88;overflow-wrap:break-word;min-width:0}
#kazan-holiday-studio .si-prose p{margin:0 0 24px}
#kazan-holiday-studio .si-prose h2{font:500 32px/1.4 var(--ks-display);color:#235674;margin:40px 0 20px;letter-spacing:-.02em}
#kazan-holiday-studio .si-prose h3{font:500 25px/1.5 var(--ks-display);color:#235674;margin:32px 0 17px;letter-spacing:-.02em}
#kazan-holiday-studio .si-prose strong{font-weight:600;color:#2e5974}
#kazan-holiday-studio .si-prose a{color:#1678a8;text-decoration:underline;text-decoration-color:#a6ccdf;text-underline-offset:4px}
#kazan-holiday-studio .si-prose a:hover{color:#104d72;text-decoration-color:currentColor}
#kazan-holiday-studio .si-prose img{display:block;max-width:100%;width:auto;height:auto;border-radius:14px;margin:26px auto}
#kazan-holiday-studio .si-prose ul,#kazan-holiday-studio .si-prose ol{padding-left:24px;margin:20px 0 30px}
#kazan-holiday-studio .si-prose li{margin:10px 0}
#kazan-holiday-studio .si-prose table{width:100%;border-collapse:collapse;font-size:15px;margin:28px 0}
#kazan-holiday-studio .si-prose td,#kazan-holiday-studio .si-prose th{border:1px solid #d7e9f4;padding:12px;text-align:left}
#kazan-holiday-studio .si-prose blockquote{margin:25px 0;padding:20px 25px;border-left:2px solid #b3d7e9;background:#f0f8fc}
#kazan-holiday-studio .si-article-photo{display:block;max-width:100%;padding:0;border:0;background:transparent;margin:25px auto;cursor:zoom-in}
#kazan-holiday-studio .si-article-photo img{margin:0}
#kazan-holiday-studio .si-article-aside{position:sticky;top:90px;margin:0}
#kazan-holiday-studio .si-article-aside>div{padding:30px 25px;background:linear-gradient(145deg,#eaf7fe,#fff);border:1px solid var(--si-line);border-radius:22px}
#kazan-holiday-studio .si-article-aside p:not(.ks-eyebrow){font:500 24px/1.5 var(--ks-display);color:#2b5e7c;margin:18px 0 24px}
#kazan-holiday-studio .si-aside-snow{font-size:36px;color:#84b8d2;display:block;margin-bottom:15px}
#kazan-holiday-studio .si-article-aside .ks-button{font-size:13px;width:100%;padding:13px 12px}
#kazan-holiday-studio .si-article-aside .ks-text-link{display:block;margin-top:20px;font-size:12px}
#kazan-holiday-studio .si-related{border-top:1px solid var(--si-line);padding-top:40px;padding-bottom:70px}
#kazan-holiday-studio .si-related h2{font:500 34px/1.3 var(--ks-display);margin:12px 0 25px}
#kazan-holiday-studio .si-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}
#kazan-holiday-studio .si-related-grid a{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d9eaf4;background:#f4faff;border-radius:16px;padding:24px;font:500 20px/1.5 var(--ks-display);text-decoration:none;color:#31627f}
#kazan-holiday-studio .si-related-grid a:hover{background:#e8f5fd}
#kazan-holiday-studio .si-reviews-page{padding-bottom:90px}
#kazan-holiday-studio.si-reviews .si-title{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:35px}
#kazan-holiday-studio.si-reviews .si-title>.ks-eyebrow,#kazan-holiday-studio.si-reviews .si-title>h1,#kazan-holiday-studio.si-reviews .si-title>.si-lead{grid-column:1}
#kazan-holiday-studio .si-review-page-action{grid-column:2;grid-row:3;align-self:center}
#kazan-holiday-studio .si-review-page-action .ks-button{min-height:49px;padding-inline:24px}
#kazan-holiday-studio .si-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#kazan-holiday-studio .si-review-entry{margin:0;padding:32px 33px 28px;border:1px solid #dfecf4;border-radius:22px;background:#fff;box-shadow:0 8px 26px #4e8cab08;position:relative;min-width:0}
#kazan-holiday-studio .si-review-entry::before{content:'“';position:absolute;right:24px;top:7px;font:80px/1 var(--ks-display);color:#deeff9;pointer-events:none}
#kazan-holiday-studio .si-review-entry blockquote{position:relative;margin:0 0 26px;color:#486e88;font-size:16px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}
#kazan-holiday-studio .si-review-entry figcaption{display:flex;align-items:center;gap:13px;color:#2d5d7b;font-size:14px;font-weight:500}
#kazan-holiday-studio .si-review-entry figcaption a{text-decoration:none;color:#2d5d7b}
#kazan-holiday-studio .si-review-entry figcaption a:hover{text-decoration:underline}
#kazan-holiday-studio .si-review-entry .si-review-permalink{margin-left:auto;color:#5c94b3;display:grid;place-items:center;width:30px;height:30px;flex:none;line-height:0}
#kazan-holiday-studio .si-review-permalink svg,#kazan-holiday-studio .si-link-icon svg{display:block;width:19px;height:19px}
#kazan-holiday-studio .si-link-icon{display:grid;place-items:center;flex:none;line-height:0}
#kazan-holiday-studio .si-single-review{padding-top:50px;padding-bottom:80px;max-width:850px}
#kazan-holiday-studio .si-single-review h1{font:500 44px/1.3 var(--ks-display);letter-spacing:-.03em;margin:15px 0 30px}
#kazan-holiday-studio .si-single-review blockquote{margin:0 0 30px;padding:30px 35px;background:#fff;border:1px solid #d9eaf5;border-radius:23px;font-size:18px;line-height:1.95;color:#4d738a;white-space:pre-line;overflow-wrap:anywhere}
#kazan-holiday-studio .si-contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:27px;padding-bottom:85px}
#kazan-holiday-studio .si-contact-main{padding:45px;background:linear-gradient(130deg,#e8f5fd,#fff 82%);border:1px solid #cee5f3;border-radius:27px}
#kazan-holiday-studio .si-contact-main h2{font:500 31px/1.4 var(--ks-display);letter-spacing:-.025em;margin:20px 0 28px}
#kazan-holiday-studio .si-contact-phone{display:inline-block;font-size:clamp(23px,2.6vw,36px);font-weight:600;line-height:1.4;letter-spacing:-.045em;color:#235674;text-decoration:none;white-space:nowrap}
#kazan-holiday-studio .si-contact-phones{display:grid;gap:6px;justify-items:start}
#kazan-holiday-studio .si-contact-phone:hover{color:#1a82b4}
#kazan-holiday-studio .si-contact-main>p:not(.ks-eyebrow){color:#5a7c92;font-size:16px;line-height:1.9;max-width:430px;margin:20px 0 30px}
#kazan-holiday-studio .si-contact-actions{display:flex;flex-wrap:wrap;gap:13px}
#kazan-holiday-studio .si-contact-actions svg{width:18px;height:18px}
#kazan-holiday-studio .si-contact-note{padding:36px 33px;background:#f4faff;border:1px solid #dfedf5;border-radius:27px}
#kazan-holiday-studio .si-contact-note>span{display:block;font-size:49px;line-height:1;color:#9ac9e0;margin-bottom:23px}
#kazan-holiday-studio .si-contact-note h3{font:500 27px/1.45 var(--ks-display);margin:15px 0 20px;letter-spacing:-.025em}
#kazan-holiday-studio .si-contact-note p:not(.ks-eyebrow){font-size:15px;line-height:1.9;color:#618096;margin:0 0 16px}
#kazan-holiday-studio .si-contact-note .ks-text-link{font-size:14px;margin-top:8px}
#kazan-holiday-studio.ks-inner .ks-desktop-nav a[aria-current=page]{color:#1680b4;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
@media(max-width:1050px){
 #kazan-holiday-studio .si-about-grid{gap:45px}
 #kazan-holiday-studio .si-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #kazan-holiday-studio .si-article-layout{grid-template-columns:minmax(0,1fr) 230px;gap:35px}
 #kazan-holiday-studio .si-contact-main{padding:32px}
}
@media(max-width:760px){
 #kazan-holiday-studio .si-title{padding-top:30px;padding-bottom:35px}
 #kazan-holiday-studio .si-breadcrumb{padding-top:23px;font-size:12px;gap:8px}
 #kazan-holiday-studio .si-lead{font-size:16px}
 #kazan-holiday-studio .si-about-grid{grid-template-columns:1fr;gap:40px}
 #kazan-holiday-studio .si-memory{max-width:260px;margin:0 auto}
 #kazan-holiday-studio .si-about-copy{font-size:16px}
 #kazan-holiday-studio .si-about-copy p:first-child{font-size:22px}
 #kazan-holiday-studio .si-program-letter{margin-top:30px;padding:25px;border-radius:21px}
 #kazan-holiday-studio .si-program-letter h2{font-size:27px}
 #kazan-holiday-studio .si-program-letter p{font-size:16px}
 #kazan-holiday-studio .si-gallery-columns{columns:2;column-gap:16px}
 #kazan-holiday-studio .si-gallery-featured{gap:16px;margin-bottom:18px}
 #kazan-holiday-studio .si-album-photo{margin-bottom:18px;padding:8px}
 #kazan-holiday-studio .si-gallery-featured .si-album-photo{padding:8px}
 #kazan-holiday-studio .si-article-layout{display:block}
 #kazan-holiday-studio .si-prose{font-size:16px}
 #kazan-holiday-studio .si-article-aside{position:static;margin:30px 0 0}
 #kazan-holiday-studio .si-article-aside>div{padding:25px}
 #kazan-holiday-studio .si-article-aside .ks-button{width:auto}
 #kazan-holiday-studio .si-article-aside .ks-text-link{display:inline-block;margin:15px 0 0 18px}
 #kazan-holiday-studio .si-aside-snow{display:none}
 #kazan-holiday-studio .si-related-grid{grid-template-columns:1fr}
 #kazan-holiday-studio .si-related-grid a{padding:20px;font-size:19px}
 #kazan-holiday-studio.si-reviews .si-title{display:block}
 #kazan-holiday-studio .si-review-page-action{margin-top:24px}
 #kazan-holiday-studio .si-review-list{grid-template-columns:1fr}
 #kazan-holiday-studio .si-contact-grid{grid-template-columns:1fr;padding-bottom:50px}
 #kazan-holiday-studio .si-contact-phone{font-size:29px}
}
@media(max-width:500px){
 #kazan-holiday-studio .si-title h1{font-size:41px}
 #kazan-holiday-studio.si-article .si-title h1{font-size:31px}
 #kazan-holiday-studio .si-title::after{font-size:90px;right:0}
 #kazan-holiday-studio .si-gallery-featured{grid-template-columns:1fr}
 #kazan-holiday-studio .si-gallery-columns{columns:1}
 #kazan-holiday-studio .si-article-grid{grid-template-columns:1fr}
 #kazan-holiday-studio .si-article-card>div:last-child{padding:24px}
 #kazan-holiday-studio .si-collection-links{gap:10px}
 #kazan-holiday-studio .si-collection-links a{font-size:13px;padding:10px 16px}
 #kazan-holiday-studio .si-article-index h2{font-size:29px}
 #kazan-holiday-studio .si-prose h2{font-size:28px}
 #kazan-holiday-studio .si-prose h3{font-size:24px}
 #kazan-holiday-studio .si-article-aside .ks-text-link{display:block;margin:18px 0 0}
 #kazan-holiday-studio .si-review-entry{padding:27px 24px}
 #kazan-holiday-studio .si-single-review blockquote{padding:24px;font-size:16px}
 #kazan-holiday-studio .si-contact-main,#kazan-holiday-studio .si-contact-note{padding:26px}
 #kazan-holiday-studio .si-contact-main h2{font-size:28px}
 #kazan-holiday-studio .si-contact-phone{font-size:26px}
}
@media(prefers-reduced-motion:reduce){#kazan-holiday-studio .si-album-photo,#kazan-holiday-studio .si-article-card{transition:none}#kazan-holiday-studio .si-album-photo:hover,#kazan-holiday-studio .si-article-card:hover{transform:none}}
