:root {
  --atelier-ink: #151514;
  --atelier-paper: #f2efe8;
  --atelier-cream: #faf8f3;
  --atelier-gold: #b9955b;
  --atelier-line: rgba(21, 21, 20, .14);
  --atelier-shell: min(1240px, calc(100vw - 48px));
}
html { scroll-behavior: smooth; }
body { background: var(--atelier-cream); color: var(--atelier-ink); }
body, input, textarea, button { font-family: "Poppins", "Open Sans", Arial, sans-serif; }
body a { color: inherit; font-family: inherit !important; font-size: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: "Cinzel", Georgia, serif; }
body.atelier-loading { overflow: hidden; }
.atelier-loader { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; color: #fff; background: #111; }
.atelier-loader__panel { position: absolute; top: 0; bottom: 0; width: 50%; background: #111; transition: transform .85s cubic-bezier(.77,0,.18,1) .2s; }
.atelier-loader__panel--left { left: 0; transform-origin: left; }
.atelier-loader__panel--right { right: 0; transform-origin: right; }
.atelier-loader__content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; min-width: min(380px, calc(100vw - 48px)); opacity: 1; transition: opacity .3s ease; }
.atelier-loader__brand { font-family: "Cinzel", Georgia, serif; font-size: clamp(38px, 6vw, 74px); font-weight: 600; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.atelier-loader__sub { margin-top: 9px; color: var(--atelier-gold); font-size: 9px; font-weight: 600; letter-spacing: .34em; text-transform: uppercase; }
.atelier-loader__bar { width: 100%; height: 1px; margin-top: 42px; overflow: hidden; background: rgba(255,255,255,.18); }
.atelier-loader__bar i { display: block; width: 0; height: 100%; background: var(--atelier-gold); box-shadow: 0 0 12px rgba(185,149,91,.8); }
.atelier-loader__count { align-self: flex-end; margin-top: 13px; color: rgba(255,255,255,.72); font-family: "Cinzel", Georgia, serif; font-size: 18px; font-weight: 500; }
.atelier-loader.is-complete { pointer-events: none; background: transparent; }
.atelier-loader.is-complete .atelier-loader__content { opacity: 0; }
.atelier-loader.is-complete .atelier-loader__panel--left { transform: translateX(-101%); }
.atelier-loader.is-complete .atelier-loader__panel--right { transform: translateX(101%); }
.atelier-shell { width: var(--atelier-shell); margin-inline: auto; }
.atelier-section { padding: clamp(76px, 10vw, 150px) 0; }
.atelier-kicker { margin: 0 0 22px; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.atelier-kicker--dark { color: var(--atelier-gold); }
.atelier-home h1, .atelier-home h2, .atelier-inner h1 { font-family: "Cinzel", Georgia, serif; font-weight: 500; letter-spacing: -.035em; }

#header { position: relative; z-index: 50; }
.frontpage #header { position: absolute; inset: 0 0 auto; color: #fff; }
.frontpage #header .header { background: transparent; border-bottom: 1px solid rgba(255,255,255,.18); }
.header { min-height: 84px; display: flex; align-items: center; background: #111; }
#header, #header .header { transition: background .35s ease, min-height .35s ease, transform .35s ease, box-shadow .35s ease; }
.frontpage #header.is-scrolled { position: fixed; inset: 0 0 auto; animation: atelierHeaderIn .45s ease both; }
.frontpage #header.is-scrolled .header { min-height: 68px; background: rgba(14,14,13,.94); border-color: rgba(255,255,255,.08); box-shadow: 0 14px 45px rgba(0,0,0,.18); backdrop-filter: blur(14px); }
.header-top { background: #26272b !important; border-bottom: 1px solid var(--atelier-gold) !important; }
.atelier-social-icons { gap: 10px; }
.atelier-social-icons li a, .header-top .atelier-social-icons li a, .footer .atelier-social-icons li a { width: 36px; height: 36px; color: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: transparent !important; transition: color .25s, border-color .25s, background .25s, transform .25s; }
.atelier-social-icons li a:hover { color: #151514; border-color: var(--atelier-gold); background: var(--atelier-gold) !important; transform: translateY(-3px); }
.atelier-social-icons svg, .atelier-footer-social svg { width: 16px; height: 16px; fill: currentColor; }
.header-container { width: 100%; }
.site-branding__name a, .site-name a { color: inherit; font-family: "Cinzel", Georgia, serif; letter-spacing: .08em; }
.atelier-wordmark { display: inline-flex; flex-direction: column; gap: 1px; color: inherit !important; text-decoration: none; }
.atelier-wordmark__main { color: #fff !important; font-family: "Cinzel", Georgia, serif; font-size: clamp(22px, 2vw, 31px); font-weight: 600; letter-spacing: .055em; line-height: 1; text-transform: uppercase; }
.atelier-wordmark__sub { color: var(--atelier-gold); font-size: 8px; font-weight: 600; letter-spacing: .21em; line-height: 1.5; text-transform: uppercase; }
.atelier-wordmark { position: relative; display: grid; grid-template-columns: 48px auto; grid-template-rows: auto auto; column-gap: 13px; align-items: center; }
.atelier-wordmark::before { grid-row: 1 / 3; display: grid; place-items: center; width: 46px; height: 46px; color: var(--atelier-gold); border: 1px solid rgba(185,149,91,.72); content: "S"; font-family: "Cinzel", Georgia, serif; font-size: 25px; line-height: 1; transform: rotate(45deg); transition: color .35s, background .35s, transform .45s cubic-bezier(.19,1,.22,1); }
.atelier-wordmark::after { position: absolute; top: 23px; left: 37px; width: 20px; height: 1px; content: ""; background: var(--atelier-gold); }
.atelier-wordmark__main, .atelier-wordmark__sub { grid-column: 2; }
.atelier-wordmark:hover::before { color: #151514; background: var(--atelier-gold); transform: rotate(0); }
.atelier-wordmark__main { text-shadow: 0 1px 18px rgba(0,0,0,.12); }
.frontpage .primary-menu a { color: #fff; }
.primary-menu a { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* Luxury white navigation */
.region-primary-menu .main-menu { display: flex; align-items: center; gap: clamp(20px, 2.2vw, 38px); }
.region-primary-menu .menu-item-level-1 { position: relative; padding: 0 !important; background: transparent !important; }
.region-primary-menu .menu-item-level-1 > a { position: relative; display: inline-flex; align-items: center; min-height: 46px; padding: 0 2px !important; color: #fff !important; font-family: "Poppins", "Open Sans", Arial, sans-serif !important; font-size: 11px !important; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.region-primary-menu .menu-item-level-1 > a::before { position: absolute; top: 50%; left: -12px; width: 5px; height: 5px; content: ""; border-radius: 50%; background: var(--atelier-gold); transform: translateY(-50%) scale(0); transition: transform .35s cubic-bezier(.19,1,.22,1); }
.region-primary-menu .menu-item-level-1 > a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; content: ""; background: linear-gradient(90deg, transparent, var(--atelier-gold), transparent); transform: scaleX(0); transition: transform .4s cubic-bezier(.19,1,.22,1); }
.region-primary-menu .menu-item-level-1:hover > a::before, .region-primary-menu .menu-item-level-1.active > a::before { transform: translateY(-50%) scale(1); }
.region-primary-menu .menu-item-level-1:hover > a::after, .region-primary-menu .menu-item-level-1.active > a::after { transform: scaleX(1); }
.region-primary-menu .menu-item-level-1:hover > a, .region-primary-menu .menu-item-level-1.active > a { color: #fff !important; }
.region-primary-menu .submenu { min-width: 230px; padding: 12px; border: 1px solid rgba(185,149,91,.28); background: rgba(17,17,16,.97); box-shadow: 0 24px 65px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.region-primary-menu .submenu li { margin: 0 0 4px; }
.region-primary-menu .submenu li:last-child { margin-bottom: 0; }
.region-primary-menu .submenu a { display: block; padding: 11px 14px !important; color: rgba(255,255,255,.8) !important; font-family: "Poppins", "Open Sans", Arial, sans-serif !important; font-size: 11px !important; letter-spacing: .08em; line-height: 1.45; }
.region-primary-menu .submenu a:hover { color: var(--atelier-gold) !important; background: rgba(255,255,255,.04); }
.region-primary-menu .submenu-toggle { color: #fff !important; }

.atelier-hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; background: #171612; }
.atelier-hero__media { position: absolute; inset: 0; background: url("../images/swastik-hero.png") center/cover no-repeat; transform: scale(1.02); }
.atelier-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,9,8,.92) 0%, rgba(9,9,8,.7) 34%, rgba(9,9,8,.16) 70%, rgba(9,9,8,.1) 100%); }
.atelier-hero__lines { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(90deg, transparent calc(25% - 1px), #fff 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), #fff 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), #fff 75%, transparent calc(75% + 1px)); }
.atelier-hero__inner { position: relative; z-index: 2; padding-top: 110px; color: #fff; }
.atelier-hero h1 { max-width: 790px; margin: 0; font-size: clamp(48px, 6.6vw, 102px); line-height: .98; }
.atelier-title-reveal span { display: block; overflow: hidden; transform: translateY(115%); opacity: 0; }
.atelier-title-reveal span:nth-child(2) { transition-delay: 140ms; }
.atelier-loaded .atelier-title-reveal span { transform: translateY(0); opacity: 1; transition: transform 1s cubic-bezier(.19,1,.22,1), opacity .8s ease; }
.atelier-hero-intro { transform: translateY(22px); opacity: 0; }
.atelier-loaded .atelier-hero-intro { transform: translateY(0); opacity: 1; transition: transform .8s cubic-bezier(.19,1,.22,1) .38s, opacity .8s ease .38s; }
.atelier-hero__lead { max-width: 590px; margin: 32px 0; color: rgba(255,255,255,.75); font-size: clamp(16px, 1.4vw, 20px); line-height: 1.8; }
.atelier-actions { display: flex; align-items: center; gap: 34px; }
.atelier-button { display: inline-flex; align-items: center; min-height: 54px; padding: 0 30px; border: 1px solid transparent; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; transition: .3s ease; }
.atelier-button--gold { color: #111; background: var(--atelier-gold); }
.atelier-button--gold:hover { color: #fff; background: transparent; border-color: var(--atelier-gold); }
.atelier-button--light { color: #111; background: #fff; }
.atelier-link { color: #fff; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.atelier-link span { margin-left: 8px; color: var(--atelier-gold); }
.atelier-hero__meta { display: flex; gap: clamp(28px, 5vw, 74px); margin-top: 72px; }
.atelier-hero__meta span { display: grid; gap: 7px; color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.atelier-hero__meta strong { color: #fff; font-family: "Cinzel", Georgia, serif; font-size: 23px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.atelier-scroll { position: absolute; right: 22px; bottom: 68px; z-index: 3; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.65); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; transform: rotate(90deg); transform-origin: right bottom; }
.atelier-scroll span { width: 42px; height: 1px; background: var(--atelier-gold); }

/* Running homepage slider */
.atelier-slider { position: absolute; inset: 0; overflow: hidden; }
.atelier-slide { position: absolute; inset: 0; display: grid; align-items: center; visibility: hidden; opacity: 0; overflow: hidden; transition: opacity 1s ease, visibility 1s ease; }
.atelier-slide::before { position: absolute; inset: -2%; content: ""; background-image: var(--atelier-slide-image); background-position: center; background-size: cover; backface-visibility: hidden; transform: translate3d(0,0,0) scale(1.08); transform-origin: center; transition: transform 8.5s cubic-bezier(.16,.72,.22,1); will-change: transform; }
.atelier-slide.is-active { z-index: 2; visibility: visible; opacity: 1; }
.atelier-slide.is-active::before { transform: translate3d(0,0,0) scale(1.01); }
.atelier-slide--living { --atelier-slide-image: url("../images/swastik-hero.png"); }
.atelier-slide--wallpaper { --atelier-slide-image: url("../images/slider-wallpaper.png"); }
.atelier-slide--tvwall { --atelier-slide-image: url("../images/slider-tv-wall.png"); }
.atelier-slide--bright { --atelier-slide-image: url("../images/slider-interior.png"); }
.atelier-slide__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,8,7,.88) 0%, rgba(8,8,7,.65) 35%, rgba(8,8,7,.12) 72%, rgba(8,8,7,.12) 100%); }
.atelier-slide__content { position: relative; z-index: 3; padding-top: 92px; color: #fff; }
.atelier-slide__content > * { max-width: 720px; opacity: 0; transform: translateY(35px); }
.atelier-slide.is-active .atelier-slide__content > * { opacity: 1; transform: translateY(0); transition: opacity .75s ease .3s, transform .9s cubic-bezier(.19,1,.22,1) .3s; }
.atelier-slide.is-active .atelier-slide__content > *:nth-child(2) { transition-delay: .42s; }
.atelier-slide.is-active .atelier-slide__content > *:nth-child(3) { transition-delay: .54s; }
.atelier-slide.is-active .atelier-slide__content > *:nth-child(4) { transition-delay: .66s; }
.atelier-slide.is-active .atelier-slide__content > *:nth-child(5) { transition-delay: .76s; }
.atelier-slide__title { margin: 0; color: #fff; font-family: "Cinzel", Georgia, serif; font-size: clamp(54px, 7.4vw, 112px); font-weight: 500; letter-spacing: -.045em; line-height: .94; }
.atelier-slide__content > p:not(.atelier-kicker) { max-width: 600px; margin: 30px 0; color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.8; }
.atelier-button--outline { color: #fff; border-color: rgba(255,255,255,.7); background: transparent; }
.atelier-button--outline:hover { color: #111; background: #fff; }
.atelier-slider__ui { position: absolute; right: clamp(24px, 5vw, 78px); bottom: 72px; z-index: 5; display: flex; align-items: center; gap: 38px; color: #fff; }
.atelier-slider__count { display: flex; align-items: center; gap: 12px; font-family: "Cinzel", Georgia, serif; font-size: 16px; }
.atelier-slider__count .atelier-slider__current { color: var(--atelier-gold); font-size: 31px; }
.atelier-slider__count i { width: 48px; height: 1px; background: rgba(255,255,255,.55); }
.atelier-slider__arrows { display: flex; border: 1px solid rgba(255,255,255,.28); }
.atelier-slider__arrows button { width: 54px; height: 54px; padding: 0; color: #fff; border: 0; background: rgba(0,0,0,.18); cursor: pointer; transition: .25s ease; }
.atelier-slider__arrows button + button { border-left: 1px solid rgba(255,255,255,.28); }
.atelier-slider__arrows button:hover { color: #111; background: var(--atelier-gold); }
.atelier-slider__dots { position: absolute; bottom: 35px; left: 50%; z-index: 5; display: flex; gap: 9px; transform: translateX(-50%); }
.atelier-slider__dots button { width: 28px; height: 2px; padding: 0; border: 0; background: rgba(255,255,255,.4); cursor: pointer; transition: width .3s, background .3s; }
.atelier-slider__dots button.is-active { width: 52px; background: var(--atelier-gold); }
.atelier-slide__actions { display: flex; align-items: center; gap: 34px; margin-top: 28px; }
.atelier-slide__meta { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); max-width: 720px !important; margin-top: 55px; border-top: 1px solid rgba(255,255,255,.2); }
.atelier-slide__meta > span { display: grid; gap: 8px; padding: 22px 25px 0 0; color: rgba(255,255,255,.63); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.atelier-slide__meta > span + span { padding-left: 34px; border-left: 1px solid rgba(255,255,255,.18); }
.atelier-slide__meta strong { color: #fff; font-family: "Cinzel", Georgia, serif; font-size: 24px; font-weight: 500; letter-spacing: 0; }

.atelier-about { background: var(--atelier-paper); }
.atelier-split { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(50px, 10vw, 150px); align-items: end; }
.atelier-split h2, .atelier-section-head h2 { max-width: 760px; margin: 0; font-size: clamp(38px, 5vw, 70px); line-height: 1.12; }
.atelier-copy p { margin: 0 0 32px; color: #615e57; font-size: 17px; line-height: 1.9; }
.atelier-text-link { padding-bottom: 8px; border-bottom: 1px solid var(--atelier-ink); color: var(--atelier-ink); font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.atelier-text-link span { margin-left: 16px; color: var(--atelier-gold); }
.atelier-about-showcase { display: grid; grid-template-columns: minmax(360px, .82fr) 1.18fr; gap: clamp(55px, 9vw, 120px); align-items: center; }
.atelier-about-showcase__visual { position: relative; min-height: 570px; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.2)), url("../images/slider-interior.png") 67% center/cover no-repeat; }
.atelier-about-card { position: absolute; inset: 42px -30px 42px 42px; display: flex; flex-direction: column; justify-content: center; padding: 45px; border: 1px solid rgba(255,255,255,.85); color: #fff; background: rgba(255,255,255,.12); backdrop-filter: blur(4px); }
.atelier-about-card small { align-self: flex-end; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.atelier-about-card > strong { margin-top: auto; font-family: "Cinzel", Georgia, serif; font-size: clamp(72px, 9vw, 135px); font-weight: 500; line-height: .8; }
.atelier-about-card > span { display: grid; gap: 8px; margin-top: 26px; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.atelier-about-card > span b { font-family: "Cinzel", Georgia, serif; font-size: 31px; letter-spacing: 0; }
.atelier-about-showcase__content h2 { margin: 0 0 28px; font-family: "Cinzel", Georgia, serif; font-size: clamp(38px, 4.4vw, 64px); font-weight: 500; line-height: 1.15; }
.atelier-about-showcase__content > p:not(.atelier-kicker) { color: #6d6860; font-size: 16px; line-height: 1.9; }
.atelier-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 50px 0 42px; }
.atelier-stat-row span { display: grid; gap: 14px; color: #383631; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.atelier-stat-row strong { color: var(--atelier-gold); font-family: "Cinzel", Georgia, serif; font-size: clamp(32px, 3vw, 50px); font-weight: 500; letter-spacing: 0; }

.atelier-services { background: var(--atelier-cream); }
.atelier-section-head { display: grid; grid-template-columns: 1fr 330px; gap: 60px; align-items: end; margin-bottom: 80px; }
.atelier-section-head > p { color: #777269; line-height: 1.8; }
.atelier-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--atelier-line); border-left: 1px solid var(--atelier-line); }
.atelier-service-card { position: relative; min-height: 320px; padding: 38px 30px; overflow: hidden; color: #fff; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); background-position: center; background-size: cover; isolation: isolate; transition: color .35s, transform .35s; }
.atelier-service-card::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(180deg, rgba(12,12,11,.2), rgba(12,12,11,.9)); transition: background .35s; }
.atelier-service-card:nth-child(1) { background-image: url("../images/slider-tv-wall.png"); }
.atelier-service-card:nth-child(2) { background-image: url("../images/slider-wallpaper.png"); }
.atelier-service-card:nth-child(3) { background-image: url("../images/swastik-hero.png"); }
.atelier-service-card:nth-child(4) { background-image: url("../images/slider-interior.png"); }
.atelier-service-card:hover { z-index: 2; color: #fff; transform: translateY(-10px); }
.atelier-service-card:hover::before { background: linear-gradient(180deg, rgba(10,10,9,.38), rgba(10,10,9,.96)); }
.atelier-index { color: var(--atelier-gold); font-size: 11px; letter-spacing: .15em; }
.atelier-service-card h3 { margin: 70px 0 18px; font-family: "Cinzel", Georgia, serif; font-size: 24px; font-weight: 500; }
.atelier-home .atelier-services .atelier-service-card h3 { color: #fff !important; }
.atelier-service-card p { color: rgba(255,255,255,.78); line-height: 1.7; }
.atelier-service-card:hover p { color: rgba(255,255,255,.9); }
.atelier-service-card > a { position: absolute; right: 28px; bottom: 28px; color: var(--atelier-gold); font-size: 22px; }
.atelier-skills { color: #fff; background: linear-gradient(rgba(11,13,15,.84), rgba(11,13,15,.88)), url("../images/slider-tv-wall.png") center/cover fixed no-repeat; }
.atelier-skills__head { max-width: 720px; margin: 0 auto 70px; text-align: center; }
.atelier-skills__head h2 { margin: 0; font-size: clamp(36px, 4vw, 58px); line-height: 1.15; }
.atelier-skill-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; }
.atelier-skill { text-align: center; }
.atelier-skill__ring { --skill-progress: 0deg; position: relative; width: clamp(155px, 15vw, 205px); aspect-ratio: 1; margin: 0 auto 30px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--atelier-gold) var(--skill-progress), rgba(255,255,255,.15) 0); }
.atelier-skill__ring::before { position: absolute; inset: 8px; content: ""; border-radius: 50%; background: rgba(26,28,31,.88); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.atelier-skill__ring strong { position: relative; font-family: "Cinzel", Georgia, serif; font-size: 31px; font-weight: 500; }
.atelier-skill__ring strong { color: #fff; }
.atelier-skill h3 { margin: 0; color: #fff; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }

.atelier-projects { padding-top: 0; background: var(--atelier-cream); }
.atelier-project-visual { position: relative; min-height: min(72vw, 760px); background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.06)), url("../images/swastik-hero.png") center/cover no-repeat; }
.atelier-project-visual::after { position: absolute; inset: 0; content: ""; border: 1px solid rgba(255,255,255,.16); pointer-events: none; }
.atelier-project-caption { position: absolute; left: clamp(30px, 7vw, 90px); bottom: clamp(34px, 7vw, 90px); max-width: 520px; color: #fff; }
.atelier-project-caption h2 { margin: 0 0 16px; font-size: clamp(40px, 5.5vw, 76px); }
.atelier-project-caption > p:not(.atelier-kicker) { margin-bottom: 32px; color: rgba(255,255,255,.64); }

.atelier-process { color: #fff; background: var(--atelier-ink); }
.atelier-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 60px; border-top: 1px solid rgba(255,255,255,.15); }
.atelier-process-grid article { padding: 34px 30px 0 0; }
.atelier-process-grid span { color: var(--atelier-gold); font-size: 11px; }
.atelier-process-grid h3 { margin: 48px 0 16px; font-family: "Cinzel", Georgia, serif; font-size: 28px; font-weight: 500; }
.atelier-process-grid p { color: rgba(255,255,255,.55); line-height: 1.7; }

.atelier-cms-content { background: #fff; }
.atelier-cta {
  position: relative;
  padding: clamp(85px, 12vw, 170px) 0;
  overflow: hidden;
  text-align: center;
  color: #fff;
  background:
    linear-gradient(rgba(7,7,7,.68), rgba(7,7,7,.74)),
    url("../images/cta-black-wall-panels.jpg") center/cover no-repeat;
}
.atelier-cta .atelier-shell { position: relative; z-index: 1; }
.atelier-cta h2 { margin: 0 0 40px; font-size: clamp(45px, 7vw, 96px); }

.atelier-inner { background: var(--atelier-cream); }
.atelier-inner-hero { padding: clamp(95px, 12vw, 170px) 0 clamp(70px, 9vw, 120px); color: #fff; background: linear-gradient(90deg, rgba(8,8,7,.92), rgba(8,8,7,.25)), url("../images/swastik-hero.png") center/cover no-repeat; }
.atelier-inner-hero h1 { max-width: 1050px; margin: 18px 0 0; font-size: clamp(52px, 7.2vw, 104px); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.atelier-breadcrumb, .atelier-breadcrumb a { color: rgba(255,255,255,.64); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.atelier-inner-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 70px; padding-top: 90px; padding-bottom: 110px; }
.atelier-inner-layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 310px; }
.atelier-inner-main { width: 100%; max-width: 1120px; margin-inline: auto; }
.atelier-inner-main .block-page-title-block,
.atelier-inner-main [data-drupal-selector="edit-block-swastik-atelier-page-title"],
.atelier-inner-main #block-swastik-atelier-page-title { display: none !important; }
.atelier-node { max-width: 920px; }
.atelier-node__media { margin-bottom: 45px; }
.atelier-node__media img { width: 100%; height: auto; }
.atelier-node__content { font-size: 17px; line-height: 1.85; }
.atelier-node__content h2, .atelier-node__content h3 { font-family: "Cinzel", Georgia, serif; font-weight: 500; }
.atelier-inner-aside { padding-left: 28px; border-left: 1px solid var(--atelier-line); }
.atelier-inner, .atelier-inner p, .atelier-inner li, .atelier-inner .field { font-family: "Poppins", "Open Sans", Arial, sans-serif; }
.atelier-inner h1, .atelier-inner h2, .atelier-inner h3, .atelier-inner h4 { font-family: "Cinzel", Georgia, serif; letter-spacing: -.025em; }
.atelier-inner .atelier-node__content { color: #5f5b54; font-size: 16px; line-height: 1.9; }
.atelier-inner-main { color: #68635b; font-family: "Poppins", "Open Sans", Arial, sans-serif !important; font-size: 16px; line-height: 1.9; }
.atelier-inner-main :where(p, li, a, span, strong, em, label, input, textarea, select, button, .field, .views-field) { font-family: "Poppins", "Open Sans", Arial, sans-serif !important; }
.atelier-inner-main :where(h1, h2, h3, h4, h5, h6) { font-family: "Cinzel", Georgia, serif !important; font-weight: 500; letter-spacing: -.035em; }
.atelier-inner-main :where(h1, h2, h3, h4, h5, h6),
.atelier-inner-main .page-title {
  margin-top: 0;
  padding: 0 0 14px;
  color: #151514 !important;
  border-bottom: 1px solid var(--atelier-line);
  background: transparent;
  font-family: "Cinzel", Georgia, serif !important;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.2;
}
.atelier-inner-main :where(p, li, .field, .field__item) {
  color: #68635b;
  font-family: "Poppins", "Open Sans", Arial, sans-serif !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
}
.atelier-inner-main :where(ul, ol) { padding-left: 1.35em; }
.atelier-inner-main :where(p, ul, ol) { margin-top: 0; margin-bottom: 24px; }
.atelier-inner-hero h1,
.atelier-inner-hero .page-title { color: #fff !important; }
.atelier-fancy-grid { display: flex !important; flex-flow: row wrap !important; align-items: stretch; align-content: flex-start; gap: 24px; width: 100% !important; max-width: 1180px; margin-inline: auto; perspective: none; }
.atelier-fancy-grid > .atelier-grid-row { display: contents; }
.atelier-fancy-grid .atelier-grid-item { box-sizing: border-box !important; position: relative; flex: 0 0 calc(25% - 19px) !important; order: 0 !important; grid-column: auto !important; grid-row: auto !important; align-self: stretch; float: none !important; clear: none !important; left: auto !important; right: auto !important; top: auto !important; width: calc(25% - 19px) !important; max-width: calc(25% - 19px) !important; min-width: 0; margin: 0 !important; overflow: hidden; background: #171716; transition: box-shadow .35s ease; }
.atelier-fancy-grid img { display: block; width: 100% !important; height: 235px !important; min-height: 0 !important; object-fit: cover; object-position: center; backface-visibility: hidden; transition: transform .45s cubic-bezier(.19,1,.22,1); }
.atelier-fancy-grid .atelier-grid-item:hover { z-index: 3; box-shadow: 0 30px 70px rgba(0,0,0,.22); }
.atelier-fancy-grid .atelier-grid-item:hover img { filter: none; transform: scale(1.025); }
.atelier-fancy-grid .atelier-grid-item :where(figcaption, .views-field-title, .field--name-title, h2, h3, p) {
  min-height: 58px;
  margin: 0 !important;
  padding: 17px 16px 15px !important;
  color: #fff !important;
  border: 0 !important;
  background: #171716 !important;
  font-family: "Poppins", "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  line-height: 1.45 !important;
  text-align: center;
  text-transform: none;
}
.atelier-fancy-grid .atelier-grid-item :where(figcaption, .views-field-title, .field--name-title, h2, h3, p)::before {
  display: block;
  width: 32px;
  height: 1px;
  margin: 0 auto 9px;
  content: "";
  background: var(--atelier-gold);
}
.atelier-fancy-grid .atelier-grid-item :where(figcaption, .views-field-title, .field--name-title, h2, h3, p) a { color: #fff !important; font: inherit !important; text-decoration: none; }
.atelier-grid-number { position: absolute; top: 18px; right: 18px; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; color: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; font-family: "Cinzel", Georgia, serif; font-size: 11px; background: rgba(0,0,0,.2); backdrop-filter: blur(5px); pointer-events: none; }
.atelier-fancy-grid .atelier-grid-item::after { display: none; }
.atelier-contact { position: relative; min-height: 720px; display: grid; grid-template-columns: 30% 26% 44%; align-items: stretch; background: #e8e5df; }
.atelier-contact__image { min-height: 720px; background: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.25)), url("../images/slider-wallpaper.png") center/cover no-repeat; }
.atelier-contact__panel { position: relative; z-index: 3; align-self: center; width: calc(100% + 65px); margin-left: -35px; padding: 62px 42px; background: #fff; box-shadow: 0 20px 65px rgba(0,0,0,.12); }
.atelier-contact__panel h2 { margin: 0 0 42px; font-family: "Cinzel", Georgia, serif; font-size: clamp(38px, 4vw, 60px); font-weight: 500; }
.atelier-contact__form { display: grid; gap: 17px; }
.atelier-contact__form input, .atelier-contact__form textarea { width: 100%; padding: 18px 15px; border: 1px solid transparent; border-bottom-color: #ddd7ce; border-radius: 0; outline: none; background: #f7f6f3; transition: border .25s, background .25s; }
.atelier-contact__form textarea { resize: vertical; }
.atelier-contact__form input:focus, .atelier-contact__form textarea:focus { border-color: var(--atelier-gold); background: #fff; }
.atelier-contact__form .atelier-button { justify-self: start; border: 0; cursor: pointer; }
.atelier-contact__map { position: relative; min-height: 720px; }
.atelier-contact__map iframe { width: 100%; height: 100%; min-height: 720px; border: 0; filter: grayscale(.72) contrast(.92); }
.atelier-contact__map > a { position: absolute; right: 24px; bottom: 24px; padding: 13px 18px; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; background: #151514; }

/* Shared front and inner content typography */
.atelier-home section, .atelier-inner {
  --atelier-heading-color: #151514;
  --atelier-copy-color: #68635b;
}
.atelier-home .atelier-hero,
.atelier-home .atelier-skills,
.atelier-home .atelier-process,
.atelier-home .atelier-cta,
.atelier-inner .atelier-inner-hero {
  --atelier-heading-color: #fff;
  --atelier-copy-color: rgba(255,255,255,.68);
}
.atelier-home section h2:not(.atelier-slide__title),
.atelier-inner .atelier-node__content h2 {
  margin-top: 0;
  color: var(--atelier-heading-color);
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(38px, 4.4vw, 64px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.14;
}
.atelier-home section h3,
.atelier-inner .atelier-node__content h3 {
  color: var(--atelier-heading-color);
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(23px, 2.2vw, 30px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.25;
}
.atelier-home section p:not(.atelier-kicker),
.atelier-inner .atelier-node__content p,
.atelier-inner .atelier-node__content li {
  color: var(--atelier-copy-color);
  font-family: "Poppins", "Open Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
}
.atelier-home section a,
.atelier-inner .atelier-node__content a {
  font-family: "Poppins", "Open Sans", Arial, sans-serif !important;
}
.atelier-inner .atelier-node__content a:not(.atelier-button) { color: var(--atelier-gold); text-decoration-color: rgba(185,149,91,.45); text-underline-offset: 4px; }
.atelier-inner .atelier-node__content blockquote { margin: 38px 0; padding: 26px 32px; color: #2b2925; border-left: 2px solid var(--atelier-gold); font-family: "Cinzel", Georgia, serif; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.5; background: var(--atelier-paper); }
.atelier-home .atelier-skills .atelier-skill h3 { color: #fff; font-family: "Poppins", "Open Sans", Arial, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.atelier-home .atelier-skills .atelier-skill h3 a { color: #fff !important; font: inherit; letter-spacing: inherit; text-decoration: none; }
.atelier-home .atelier-skills .atelier-skill h3 a:hover { color: var(--atelier-gold) !important; }

.atelier-section[data-section-label] { position: relative; }
.atelier-section[data-section-label]::before { position: absolute; top: 50%; left: 17px; color: rgba(21,21,20,.33); content: attr(data-section-label); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }
.atelier-process[data-section-label]::before { color: rgba(255,255,255,.35); }

.atelier-progress { position: fixed; inset: 0 0 auto; z-index: 200; height: 2px; pointer-events: none; }
.atelier-progress span { display: block; width: 0; height: 100%; background: var(--atelier-gold); box-shadow: 0 0 12px rgba(185,149,91,.7); }
.atelier-cursor { position: fixed; top: -19px; left: -19px; z-index: 190; width: 38px; height: 38px; border: 1px solid rgba(185,149,91,.7); border-radius: 50%; pointer-events: none; transition: width .25s ease, height .25s ease, margin .25s ease, background .25s ease; will-change: transform; }
.atelier-cursor span { position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; background: var(--atelier-gold); border-radius: 50%; transform: translate(-50%,-50%); }
.atelier-cursor.is-active { width: 58px; height: 58px; margin: -10px 0 0 -10px; background: rgba(185,149,91,.12); }

#footer { border-top: 1px solid var(--atelier-gold) !important; background: #0d0d0c !important; }
.block-system-powered-by-block { display: none !important; }
#footer .footer { color: rgba(255,255,255,.72); background: #0d0d0c; }
#footer h2, #footer h3 { color: #fff; font-family: "Cinzel", Georgia, serif; }
#footer a { color: rgba(255,255,255,.72); }
#footer a:hover { color: var(--atelier-gold); }
.atelier-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr .85fr 1fr 1fr; gap: clamp(28px, 4vw, 62px); padding: 95px 0 75px; }
.atelier-footer-grid h3 { margin: 5px 0 28px; color: var(--atelier-gold) !important; font-family: inherit !important; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.atelier-footer-grid p { margin: 0 0 10px; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.9; }
.atelier-footer-grid ul { margin: 0; padding: 0; list-style: none; }
.atelier-footer-grid li { margin: 0 0 14px; }
.atelier-footer-grid > div:nth-child(2) li { margin-bottom: 10px; }
.atelier-footer-grid > div:nth-child(2) li a { border: 0 !important; font-size: 12px !important; line-height: 1.55; text-decoration: none !important; }
.atelier-footer-grid li a::before { margin-right: 10px; color: var(--atelier-gold); content: "›"; }
.atelier-footer-logo { display: inline-flex; flex-direction: column; gap: 3px; margin-bottom: 23px; color: #fff !important; }
.atelier-footer-logo strong { color: #fff; font-family: "Cinzel", Georgia, serif; font-size: 25px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.atelier-footer-logo span { color: var(--atelier-gold); font-family: Arial, sans-serif; font-size: 8px; letter-spacing: .25em; text-transform: uppercase; }
.atelier-footer-brand > p { max-width: 290px; }
.atelier-open-hours { color: #fff; }
.atelier-footer-social { display: flex; gap: 9px; margin-top: 24px; }
.atelier-footer-social a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; font-size: 11px; transition: .25s; }
.atelier-footer-social a:hover { color: #111 !important; border-color: var(--atelier-gold); background: var(--atelier-gold); }
.footer-bottom-middle { min-height: 72px; margin-top: 0; padding-top: 22px !important; padding-bottom: 26px !important; border-top-color: rgba(255,255,255,.1) !important; }
.footer-bottom-middle,
.footer-bottom-middle .copyright,
.footer-bottom-middle .copyright a {
  color: rgba(255,255,255,.72) !important;
  font-family: "Poppins", "Open Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.7;
}
.footer-bottom-middle .copyright a:hover { color: var(--atelier-gold) !important; }
.atelier-motion { opacity: 0; transform: translateY(48px); transition: opacity .85s ease var(--atelier-delay, 0ms), transform .95s cubic-bezier(.19,1,.22,1) var(--atelier-delay, 0ms); }
.atelier-motion.is-visible { opacity: 1; transform: translateY(0); }
.atelier-image-reveal { clip-path: inset(0 100% 0 0); opacity: 1; transform: none; transition: clip-path 1.15s cubic-bezier(.77,0,.18,1) var(--atelier-delay, 0ms); }
.atelier-image-reveal.is-visible { clip-path: inset(0 0 0 0); }

@keyframes atelierHeaderIn {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}
@media (max-width: 980px) {
  .atelier-split, .atelier-section-head { grid-template-columns: 1fr; }
  .atelier-service-grid { grid-template-columns: repeat(2, 1fr); }
  .atelier-process-grid { grid-template-columns: repeat(2, 1fr); row-gap: 50px; }
  .atelier-inner-layout { grid-template-columns: 1fr; }
  .atelier-section[data-section-label]::before { display: none; }
  .atelier-about-showcase { grid-template-columns: 1fr; }
  .atelier-about-showcase__visual { min-height: 520px; }
  .atelier-about-card { right: 42px; }
  .atelier-skill-grid { grid-template-columns: repeat(2, 1fr); row-gap: 55px; }
  .atelier-contact { grid-template-columns: 42% 58%; }
  .atelier-contact__image { display: none; }
  .atelier-contact__panel { width: calc(100% + 30px); margin-left: 30px; }
  .atelier-footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .atelier-fancy-grid .atelier-grid-item { flex-basis: calc(33.333% - 17px) !important; width: calc(33.333% - 17px) !important; max-width: calc(33.333% - 17px) !important; }
}
@media (max-width: 760px) {
  .atelier-fancy-grid { gap: 18px; }
  .atelier-fancy-grid .atelier-grid-item { flex-basis: calc(50% - 10px) !important; width: calc(50% - 10px) !important; max-width: calc(50% - 10px) !important; }
  .atelier-fancy-grid img { height: 220px !important; }
}
@media (max-width: 640px) {
  :root { --atelier-shell: calc(100vw - 32px); }
  .atelier-wordmark { grid-template-columns: 39px auto; column-gap: 10px; }
  .atelier-wordmark::before { width: 38px; height: 38px; font-size: 20px; }
  .atelier-wordmark::after { top: 19px; left: 31px; width: 16px; }
  .atelier-wordmark__main { font-size: 19px; }
  .atelier-wordmark__sub { font-size: 6px; letter-spacing: .15em; }
  .atelier-hero { min-height: 760px; }
  .atelier-hero__inner { padding-top: 100px; }
  .atelier-hero__lead { line-height: 1.6; }
  .atelier-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .atelier-hero__meta { gap: 18px; margin-top: 48px; }
  .atelier-hero__meta span:nth-child(3) { display: none; }
  .atelier-service-grid, .atelier-process-grid { grid-template-columns: 1fr; }
  .atelier-service-card { min-height: 270px; }
  .atelier-scroll { display: none; }
  .atelier-section { padding: 78px 0; }
  .atelier-projects { padding-top: 0; }
  .atelier-cursor { display: none; }
  .atelier-slide__content { padding-top: 95px; }
  .atelier-slide__content > p:not(.atelier-kicker) { font-size: 15px; line-height: 1.6; }
  .atelier-slider__ui { right: 16px; bottom: 64px; }
  .atelier-slider__count { display: none; }
  .atelier-slider__arrows button { width: 46px; height: 46px; }
  .atelier-slide__actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .atelier-slide__meta { grid-template-columns: repeat(2, 1fr); margin-top: 28px; }
  .atelier-slide__meta > span { padding: 14px 10px 0 0; }
  .atelier-slide__meta > span + span { padding-left: 18px; }
  .atelier-slide__meta > span:nth-child(3) { display: none; }
  .atelier-about-showcase__visual { min-height: 440px; }
  .atelier-about-card { inset: 25px; padding: 28px; }
  .atelier-stat-row { gap: 14px; }
  .atelier-stat-row span { letter-spacing: .08em; }
  .atelier-skill-grid { grid-template-columns: 1fr; }
  .atelier-skills { background-attachment: scroll; }
  .atelier-contact { display: block; }
  .atelier-contact__panel { width: calc(100% - 32px); margin: -45px auto 0; padding: 42px 25px; }
  .atelier-contact__map, .atelier-contact__map iframe { min-height: 430px; }
  .atelier-footer-grid { grid-template-columns: 1fr; padding: 72px 0 45px; }
  .atelier-fancy-grid { gap: 20px; }
  .atelier-fancy-grid .atelier-grid-item { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
  .atelier-fancy-grid img { height: 240px !important; min-height: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .atelier-motion, .atelier-title-reveal span, .atelier-hero-intro { opacity: 1; transform: none; transition: none; }
  .atelier-image-reveal { clip-path: none; }
}
