.theme-twelve{--bg:#fff;--ink:#252629;--accent:#6650f5;--muted:#7c7f88;--line:#e9eaf0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.theme-twelve h1,.theme-twelve h2,.theme-twelve h3,.theme-twelve p,.theme-twelve dd{word-break:keep-all;overflow-wrap:anywhere}
.theme-twelve .header{height:72px;padding:0 4.5%;border-bottom:1px solid var(--line);gap:28px}
.theme-twelve .brand{font-size:clamp(18px,1.7vw,24px);font-family:Pretendard,sans-serif;font-weight:750;letter-spacing:-.05em;line-height:1.35;min-width:0}
.theme-twelve .brand span,.theme-twelve .footer>a:first-child span{display:inline-block;white-space:nowrap}
.theme-twelve .desktop-nav{gap:50px;margin-left:auto;font-size:14px}
.theme-twelve .desktop-nav a[aria-current]{color:var(--accent);border:0}
.theme-twelve .header>.cta{margin-left:25px;font-size:13px;padding:11px 24px;min-height:42px;gap:15px;border-radius:5px;flex-shrink:0}
.theme-twelve .cta{border-radius:5px}
.theme-twelve .header>.cta span{font-size:18px}
.theme-twelve .footer{padding:12px 4.5%;gap:20px}
.theme-twelve .footer>a:first-child{font-size:12px}
.theme-twelve .footer p{font-size:9px;line-height:1.6}
.theme-twelve .footer .text-cta{font-size:11px;gap:12px;padding:0;line-height:1.3}
.theme-twelve .footer .text-cta span{font-size:18px;line-height:1}
.twelve-home{height:100vh;height:100dvh;display:grid;grid-template-rows:72px minmax(0,1fr) 54px}
.theme-twelve.twelve-home .header{height:100%}
.twelve-home #main{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) clamp(190px,30dvh,286px);background:radial-gradient(ellipse at 50% 33%,#f3f5ffb0,transparent 70%),#fcfdff}
.center-hero{padding:22px 24px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:0}
.hero-label{color:var(--accent);font-size:12px;font-weight:650;letter-spacing:1.6px;line-height:1.4;margin-bottom:24px}
.hero-label>span{font-size:20px;vertical-align:middle;margin-right:7px;line-height:1}
.center-hero h1{font-size:clamp(36px,min(4.1vw,6.5dvh),60px);line-height:1.27;letter-spacing:-.055em;font-weight:780}
.hero-intro{font-size:clamp(14px,1.25vw,18px);color:#747781;line-height:1.7;margin-top:22px}
.mobile-break{display:none}
.hero-actions{display:flex;justify-content:center;gap:10px;margin-top:28px}
.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:11px 24px;border-radius:5px;font-size:14px;line-height:1.4;font-weight:650;white-space:nowrap}
.button-primary{background:#252629;color:white;border:1px solid #252629}
.button-secondary{border:1px solid #dedfe6;background:#fff;color:#252629}
.button-primary span{font-size:20px;line-height:1}
.hero-caption{font-size:11px;color:#9397a1;line-height:1.6;margin-top:16px}
.media-gallery{display:flex;flex-direction:column;min-height:0;padding:8px 4.5% 20px;gap:12px}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gallery-heading h2{font-size:15px;letter-spacing:-.03em;font-weight:650;line-height:1.4}
.gallery-heading>p{font-size:11px;color:#9598a3;line-height:1.4}
.media-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.media-card{padding:0;min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;text-align:left;gap:10px}
.media-cover{position:relative;min-height:0;overflow:hidden;border-radius:8px;background:#ebeef4}
.media-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.media-card:hover .media-cover>img{transform:scale(1.025)}
.media-badge{position:absolute;left:10px;top:10px;border:1px solid #ffffff70;background:#1c233969;color:#fff;font-size:9px;letter-spacing:1px;padding:2px 7px;border-radius:3px;line-height:1.6;backdrop-filter:blur(5px)}
.play-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffffb3;border-radius:50%;background:#ffffffed;color:#4f43c8;font-size:14px;padding-left:2px}
.media-label{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:0 2px}
.media-label h3{font-size:14px;letter-spacing:-.035em;font-weight:600;line-height:1.4}
.media-label>span{color:#969ba7;font-size:16px;line-height:1}
.twelve-home .footer{height:100%;flex-wrap:nowrap}
.theme-twelve .zoom-dialog,.video-dialog{border-radius:10px}
.video-dialog{padding:0;background:#fff;color:var(--ink);width:min(1100px,94vw);max-width:94vw;max-height:92dvh;border:1px solid var(--line)}
.video-dialog::backdrop{background:#14182ee6}
.video-dialog video{display:block;width:100%;max-height:70dvh;background:#111}
.video-close{font-size:20px;min-width:44px;min-height:44px}
.video-dialog>p{font-size:11px;color:#737987;padding:12px 20px;line-height:1.6}
.theme-twelve .sub-heading h1{font-size:clamp(32px,4vw,56px)}
.theme-twelve .eyebrow{color:var(--accent);letter-spacing:2px;font-weight:600}
.page-tabs{display:flex;gap:10px;margin-top:28px}
.page-tabs a{padding:8px 18px;background:#f3f2ff;color:#5a47d5;border-radius:5px;font-size:13px;font-weight:600}
.location-section{padding-top:44px;background:#f8f9fd;margin-top:20px}
.section-intro{padding:0 6% 25px}
.section-intro h2{font-size:36px;margin:14px 0}
.section-intro>p:last-child{font-size:15px;color:var(--muted)}
.location-section .text-cta{display:flex;width:max-content;max-width:100%;font-size:13px;margin-top:20px}
.location-section .button-primary{margin-top:28px}
.theme-twelve .sub-split h2{font-size:clamp(26px,3vw,42px)}
.theme-twelve .sub-split dt{min-width:60px}
.theme-twelve .sub-split .button-primary{font-size:13px}
.theme-twelve .plan-controls h2{font-size:26px}
.theme-twelve .plan-controls .cta{font-size:13px}

@media(max-width:1100px){
 .theme-twelve .header{gap:20px}.theme-twelve .desktop-nav{gap:35px}.theme-twelve .header>.cta{margin-left:10px}
 .media-grid{gap:12px}.media-label h3{font-size:13px}
}
@media(max-width:760px){
 .theme-twelve .header{height:64px;padding:0 18px;gap:12px}
 .theme-twelve .header .brand{font-size:clamp(14px,3.6vw,18px);line-height:1.35;white-space:normal;max-width:none;flex:1;letter-spacing:-.04em}
 .theme-twelve .header>.cta{font-size:11px;padding:10px 13px;min-height:38px;margin-left:0;gap:0}
 .theme-twelve .menu-toggle{min-width:28px;flex-shrink:0;font-size:21px}
 .twelve-home{grid-template-rows:64px minmax(0,1fr) 44px}
 .twelve-home #main{grid-template-rows:minmax(0,1fr) clamp(170px,31dvh,270px)}
 .center-hero{padding:18px 18px 16px}
 .hero-label{font-size:9px;letter-spacing:1px;margin-bottom:18px}
 .hero-label>span{font-size:16px;margin-right:4px}
 .center-hero h1{font-size:clamp(24px,6.4vw,36px);line-height:1.32;letter-spacing:-.06em}
 .hero-intro{font-size:12px;line-height:1.75;margin-top:16px}
 .mobile-break{display:block}
 .hero-actions{gap:8px;margin-top:20px}
 .button-primary,.button-secondary{min-height:41px;font-size:12px;padding:10px 17px;gap:12px}
 .button-primary span{font-size:17px}
 .hero-caption{font-size:9px;line-height:1.7;max-width:280px;margin-top:12px}
 .media-gallery{padding:5px 18px 14px;gap:8px}
 .gallery-heading h2{font-size:12px}.gallery-heading>p{font-size:9px}
 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
 .media-card{gap:5px}.media-cover{border-radius:6px}
 .media-label h3{font-size:11px}.media-label>span{font-size:12px}
 .media-badge{font-size:7px;left:6px;top:6px;padding:1px 5px}
 .play-symbol{width:28px;height:28px;font-size:10px}
 .theme-twelve .footer{padding:7px 18px;gap:10px;flex-wrap:nowrap}
 .theme-twelve .footer>a:first-child{display:none}
 .theme-twelve .footer p{font-size:8px;flex:1;order:0;line-height:1.5}
 .theme-twelve .footer .text-cta{font-size:10px;gap:7px;margin:0}
 .theme-twelve .sub-heading{padding:34px 22px 22px}
 .theme-twelve .sub-heading h1{font-size:30px}
 .theme-twelve .sub-heading>p:last-child{font-size:13px}
 .theme-twelve .sub-split,.theme-twelve .plan-section{padding-left:22px;padding-right:22px}
 .theme-twelve .sub-split h2{font-size:28px}
 .theme-twelve .sub-split dd{font-size:13px}
 .page-tabs{margin-top:20px}
 .section-intro{padding:0 22px 20px}
 .section-intro h2{font-size:28px}.section-intro>p:last-child{font-size:13px}
 .location-section{padding-top:30px}
 .video-dialog>p{padding:10px 14px;font-size:10px}
}
@media(max-width:350px){
 .theme-twelve .header{padding:0 12px;gap:8px}
 .theme-twelve .header .brand{font-size:14px}
 .theme-twelve .header>.cta{padding:10px;font-size:10px}
 .theme-twelve .menu-toggle{min-width:26px}
 .twelve-home{grid-template-rows:58px minmax(0,1fr) 42px}
 .center-hero{padding:14px 14px}
 .hero-label{font-size:8px;margin-bottom:12px}
 .center-hero h1{font-size:24px;letter-spacing:-.055em}
 .hero-intro{font-size:11px;margin-top:12px}
 .hero-actions{margin-top:15px}
 .button-primary,.button-secondary{padding:9px 13px;font-size:11px;min-height:38px}
 .hero-caption{font-size:8px;margin-top:10px}
 .media-gallery{padding-left:14px;padding-right:14px}
 .gallery-heading>p{display:none}.media-grid{gap:9px}
 .media-label h3{font-size:10px}
 .theme-twelve .footer{padding:6px 14px}
 .theme-twelve .footer p{font-size:7px}
}
@media(max-height:500px) and (min-width:600px){
 .twelve-home{grid-template-rows:52px minmax(0,1fr) 38px}
 .theme-twelve .header{height:100%;padding:0 3%;gap:18px}
 .theme-twelve .header .brand{font-size:17px}
 .theme-twelve .desktop-nav{gap:24px;font-size:12px}
 .theme-twelve .header>.cta{min-height:36px;font-size:11px;padding:8px 14px}
 .twelve-home #main{grid-template-columns:minmax(0,1fr) 34%;grid-template-rows:minmax(0,1fr)}
 .center-hero{padding:12px 16px}
 .center-hero h1{font-size:clamp(24px,3.4vw,32px);line-height:1.25}
 .hero-label{font-size:8px;margin-bottom:12px}
 .hero-intro{font-size:11px;line-height:1.6;margin-top:12px}
 .hero-intro .mobile-break{display:block}
 .hero-actions{margin-top:14px}
 .button-primary,.button-secondary{font-size:11px;min-height:36px;padding:8px 14px}
 .hero-caption{font-size:8px;margin-top:10px}
 .media-gallery{padding:12px 12px 12px 0;gap:8px}
 .gallery-heading h2{font-size:11px}.gallery-heading>p{display:none}
 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
 .media-card{gap:4px}.media-label h3{font-size:10px}.media-badge{font-size:7px;left:5px;top:5px}
 .play-symbol{width:28px;height:28px;font-size:10px}
 .theme-twelve .footer{padding:6px 3%}
}
@media(prefers-reduced-motion:reduce){.media-cover>img{transition:none}}

/* Centered navigation and a single inline film. */
.theme-twelve .header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.theme-twelve .desktop-nav{margin:0;justify-self:center}
.theme-twelve .header>.cta{margin-left:0;justify-self:end}
.twelve-home #main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) min(36dvh,324px)}
.home-film{min-height:0;display:flex;align-items:center;justify-content:center;padding:0 24px 18px}
.home-video{display:block;width:auto;height:100%;max-width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:10px;background:#161a22}
@media(max-width:760px){
 .theme-twelve .header{height:92px;grid-template-columns:minmax(0,1fr) auto;padding-bottom:29px}
 .theme-twelve .desktop-nav{display:flex;position:absolute;bottom:8px;left:50%;transform:translateX(-50%);gap:32px;font-size:12px}
 .theme-twelve .menu-toggle{display:none}
 .twelve-home{grid-template-rows:92px minmax(0,1fr) 44px}
 .twelve-home #main{grid-template-rows:minmax(0,1fr) min(29dvh,240px)}
 .home-film{padding:0 18px 14px}
 .home-video{width:100%;height:auto;max-height:100%;max-width:426px}
}
@media(max-width:350px){
 .twelve-home{grid-template-rows:92px minmax(0,1fr) 42px}
 .home-film{padding:0 14px 12px}
}
@media(max-height:500px) and (min-width:600px){
 .twelve-home{grid-template-rows:52px minmax(0,1fr) 38px}
 .twelve-home #main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 113px}
 .center-hero{padding:5px 16px}
 .hero-label{margin-bottom:4px}
 .center-hero h1{font-size:24px;line-height:1.15}
 .hero-intro{margin-top:5px;font-size:10px}
 .hero-intro .mobile-break{display:none}
 .hero-actions{margin-top:6px}
 .hero-caption{margin-top:4px;font-size:8px}
 .button-primary{min-height:30px;padding:5px 14px}
 .home-film{padding:0 16px 8px}
}
.twelve-home{grid-template-rows:72px minmax(0,1fr)}
@media(max-width:760px){.twelve-home{grid-template-rows:92px minmax(0,1fr)}}
@media(max-height:500px) and (min-width:600px){.twelve-home{grid-template-rows:52px minmax(0,1fr)}}
