:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;--color-page: #f6f5f2;--color-outside: #e9e7e2;--color-card: #ffffff;--color-ink: #24252a;--color-fg-1: rgba(36, 37, 42, .66);--color-fg-2: rgba(36, 37, 42, .52);--color-fg-3: rgba(36, 37, 42, .32);--color-gold: #96764c;--color-gold-pressed: #7e603c;--color-gold-soft: #f0e8dc;--color-line: rgba(36, 37, 42, .1);--color-pressed: #eceae6;--color-mask: rgba(24, 24, 28, .56);--color-white: #ffffff;--color-white-soft: rgba(255, 255, 255, .78);--color-overlay: rgba(20, 20, 23, .68);--color-dark: #2b2d34;--color-danger: #c64b4b;--fs-10: 10px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-17: 17px;--fs-18: 18px;--fs-20: 20px;--fs-22: 22px;--fs-24: 24px;--fs-28: 28px;--fs-30: 30px;--fs-34: 34px;--lh-tight: 1.35;--lh-body: 1.75;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 999px;--shadow-float: 0 2px 8px rgba(36, 37, 42, .06);--shadow-pop: 0 6px 16px rgba(36, 37, 42, .08);--nav-height: 52px;--tab-height: 58px;--z-sticky: 100;--z-mask: 500;--z-dialog: 1000;--font-serif: "Songti SC", "STSong", "SimSun", serif}*{box-sizing:border-box}html{font-size:100%;background:var(--color-outside)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--color-outside);color:var(--color-ink)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}button:disabled{opacity:.45;cursor:default}.mobile-app{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--color-page);position:relative}.mobile-navbar{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;min-height:calc(var(--nav-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0;display:flex;align-items:center;justify-content:space-between;background:#f6f5f2f2;border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-sticky)}.mobile-navbar>h1{font-size:var(--fs-17);line-height:var(--nav-height);font-weight:500;margin:0;position:absolute;left:50%;transform:translate(-50%)}.mobile-brand{display:flex;align-items:center;gap:var(--space-2)}.mobile-brand>span{width:32px;height:32px;display:grid;place-items:center;color:var(--color-white);background:var(--color-ink);font-family:var(--font-serif);font-size:var(--fs-17)}.mobile-brand strong{font-size:var(--fs-15);font-weight:600;letter-spacing:.06em}.mobile-brand small{font-size:var(--fs-10);color:var(--color-fg-2);font-weight:400;margin-left:var(--space-2)}.navbar-action{position:absolute;right:var(--space-4);top:env(safe-area-inset-top);min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--color-gold);font-size:var(--fs-14)}.navbar-action:active,.text-button:active,.mh-btn--link:active{opacity:.5}.mobile-content{padding-top:calc(var(--nav-height) + env(safe-area-inset-top));padding-bottom:calc(var(--tab-height) + env(safe-area-inset-bottom) + var(--space-6));animation:tab-in .2s ease}.mobile-hero{height:480px;margin:var(--space-4);position:relative;overflow:hidden;border-radius:var(--radius-xl);background:var(--color-pressed)}.mobile-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.mobile-hero__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 35%,var(--color-overlay) 100%)}.mobile-hero__content{position:absolute;left:var(--space-6);right:var(--space-6);bottom:var(--space-6);color:var(--color-white)}.hero-role{font-size:var(--fs-12);color:var(--color-white-soft);letter-spacing:.08em}.mobile-hero h1{font-family:var(--font-serif);font-size:var(--fs-34);line-height:var(--lh-tight);font-weight:600;letter-spacing:.04em;margin:var(--space-3) 0}.mobile-hero p{color:var(--color-white-soft);font-size:var(--fs-12);margin:0 0 var(--space-4)}.availability{display:inline-flex;align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-3);border:1px solid var(--color-white-soft);border-radius:var(--radius-round);font-size:var(--fs-11)}.availability i{width:6px;height:6px;border-radius:var(--radius-round);background:var(--color-gold-soft)}.home-actions{padding:0 var(--space-4)}.mh-btn{min-height:44px;border-radius:var(--radius-md);padding:0 var(--space-4);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--fs-15);font-weight:500}.mh-btn--block{width:100%;min-height:48px}.mh-btn--primary{background:var(--color-ink);color:var(--color-white)}.mh-btn--primary:active{background:var(--color-dark)}.mh-btn--default{background:var(--color-card);border-color:var(--color-line);color:var(--color-ink);font-size:var(--fs-14)}.mh-btn--default:active{background:var(--color-pressed)}.mh-btn--link{background:transparent;color:var(--color-fg-1);font-size:var(--fs-13)}.mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:var(--space-5) var(--space-4) 0;padding:var(--space-4) 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.mobile-stats div{text-align:center;position:relative}.mobile-stats div+div:before{content:"";position:absolute;left:0;top:var(--space-2);bottom:var(--space-2);width:1px;background:var(--color-line)}.mobile-stats dt{font-size:var(--fs-24);font-weight:500;font-variant-numeric:tabular-nums}.mobile-stats dt small{font-size:var(--fs-11);margin-left:var(--space-1);font-weight:400}.mobile-stats dd{margin:var(--space-1) 0 0;font-size:var(--fs-11);color:var(--color-fg-2)}.content-section{padding-top:var(--space-8)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 var(--space-4);margin-bottom:var(--space-4)}.section-heading div>span{color:var(--color-gold);font-size:var(--fs-11)}.section-heading h2{font-size:var(--fs-20);margin:var(--space-1) 0 0;font-weight:600}.section-heading__hint{color:var(--color-fg-2);font-size:var(--fs-11)}.moment-scroller{display:flex;gap:var(--space-3);overflow-x:auto;padding:0 var(--space-4) var(--space-2);scroll-snap-type:x mandatory;scrollbar-width:none}.moment-scroller::-webkit-scrollbar{display:none}.moment-scroller figure{flex:0 0 78%;margin:0;scroll-snap-align:start}.moment-scroller img{aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);background:var(--color-pressed)}.moment-scroller figcaption{padding-top:var(--space-3)}.moment-scroller strong{display:block;font-size:var(--fs-15);font-weight:500}.moment-scroller figcaption span{display:block;color:var(--color-fg-2);font-size:var(--fs-11);margin-top:var(--space-1)}.about-card{margin:var(--space-8) var(--space-4) 0;padding:var(--space-6);background:var(--color-gold-soft);border-radius:var(--radius-lg);position:relative;overflow:hidden}.about-card__quote{position:absolute;right:var(--space-4);top:calc(var(--space-8) * -1);font-family:var(--font-serif);font-size:110px;color:var(--color-fg-3);opacity:.35}.about-card h2{position:relative;font-family:var(--font-serif);font-size:var(--fs-20);line-height:1.65;margin:0 0 var(--space-3)}.about-card p{position:relative;font-size:var(--fs-13);line-height:var(--lh-body);color:var(--color-fg-1);margin:0}.text-button{min-height:44px;display:inline-flex;align-items:center;gap:var(--space-1);border:0;background:transparent;color:var(--color-gold);font-size:var(--fs-12);padding:var(--space-2) 0 0}.page-intro{padding:var(--space-8) var(--space-4) var(--space-6)}.page-intro>span{font-size:var(--fs-12);color:var(--color-gold)}.page-intro h1{font-family:var(--font-serif);font-size:var(--fs-28);line-height:1.5;margin:var(--space-2) 0 var(--space-3)}.page-intro p{font-size:var(--fs-13);line-height:var(--lh-body);color:var(--color-fg-1);margin:0}.service-cells{background:var(--color-card)}.service-cell{width:100%;min-height:76px;padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);text-align:left;background:var(--color-card);border:0;position:relative}.service-cell+.service-cell:after{content:"";position:absolute;left:64px;right:0;top:0;height:1px;background:var(--color-line)}.service-cell:active{background:var(--color-pressed)}.service-cell__icon{width:36px;color:var(--color-gold);flex-shrink:0}.service-cell__text{flex:1;min-width:0}.service-cell__text strong{display:block;font-size:var(--fs-16);font-weight:500}.service-cell__text small{display:block;font-size:var(--fs-12);color:var(--color-fg-2);margin-top:var(--space-1);line-height:var(--lh-tight)}.service-cell>svg{color:var(--color-fg-3);flex-shrink:0}.process-section{padding-top:var(--space-8)}.process-list{list-style:none;margin:0 var(--space-4);padding:var(--space-5);background:var(--color-card);border-radius:var(--radius-lg)}.process-list li{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-6)}.process-list li:last-child{padding-bottom:0}.process-list li:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:1px;background:var(--color-line)}.process-list li>span{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-round);background:var(--color-gold-soft);color:var(--color-gold);font-size:var(--fs-12)}.process-list strong{display:block;font-size:var(--fs-14);font-weight:500;padding-top:var(--space-1)}.process-list p{font-size:var(--fs-12);color:var(--color-fg-2);margin:var(--space-1) 0 0}.page-bottom-action{padding:var(--space-8) var(--space-4) 0}.page-bottom-action p{color:var(--color-fg-1);text-align:center;font-size:var(--fs-12);margin:0 0 var(--space-3)}.mobile-course-list{display:grid;gap:var(--space-3);padding:0 var(--space-4)}.mobile-course-card{padding:var(--space-5);background:var(--color-card);border-radius:var(--radius-lg)}.course-card__top{display:flex;align-items:center;justify-content:space-between}.course-card__top>span{padding:var(--space-1) var(--space-2);background:var(--color-gold-soft);color:var(--color-gold);font-size:var(--fs-11);border-radius:var(--radius-sm)}.course-card__top small{color:var(--color-fg-2);font-size:var(--fs-11)}.mobile-course-card h2{font-size:var(--fs-20);margin:var(--space-4) 0 var(--space-2);font-weight:600}.course-card__subtitle{font-size:var(--fs-13);color:var(--color-fg-1);margin:0}.course-card__meta{display:grid;gap:var(--space-3);margin:var(--space-5) 0;padding:var(--space-4) 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.course-card__meta span{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-12);color:var(--color-fg-1)}.course-card__meta svg{color:var(--color-gold)}.course-card__bottom{display:flex;align-items:center;justify-content:space-between}.course-card__bottom>div>small{display:block;color:var(--color-fg-2);font-size:var(--fs-10)}.course-card__bottom strong{display:block;font-size:var(--fs-28);line-height:var(--lh-tight);font-weight:500;margin-top:var(--space-1)}.course-card__bottom sup{font-size:var(--fs-12);margin-right:var(--space-1)}.list-note{margin:var(--space-4);color:var(--color-fg-2);font-size:var(--fs-11);line-height:var(--lh-body)}.profile-card{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4);padding:var(--space-5);background:var(--color-card);border-radius:var(--radius-lg)}.profile-card>img{width:82px;height:98px;object-fit:cover;object-position:center 18%;border-radius:var(--radius-md)}.profile-card h1{font-family:var(--font-serif);font-size:var(--fs-24);margin:0 0 var(--space-1)}.profile-card p{color:var(--color-fg-1);font-size:var(--fs-12);margin:0 0 var(--space-3)}.profile-card div>span{display:flex;align-items:center;gap:var(--space-1);color:var(--color-fg-2);font-size:var(--fs-11)}.profile-intro{padding:var(--space-5) var(--space-4)}.profile-intro h2{font-size:var(--fs-17);margin:0 0 var(--space-3)}.profile-intro p{color:var(--color-fg-1);font-size:var(--fs-14);line-height:1.9;margin:0}.profile-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-4) var(--space-6)}.profile-tags span{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-gold-soft);color:var(--color-gold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-11)}.contact-cells{background:var(--color-card)}.contact-cell{min-height:58px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);position:relative}.contact-cell+.contact-cell:after{content:"";position:absolute;top:0;left:var(--space-4);right:0;height:1px;background:var(--color-line)}.contact-cell>span{display:flex;align-items:center;gap:var(--space-2);color:var(--color-fg-1);font-size:var(--fs-13)}.contact-cell>span svg{color:var(--color-gold)}.contact-cell strong{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-12);font-weight:400;text-align:right}a.contact-cell:active{background:var(--color-pressed)}.profile-footer{text-align:center;color:var(--color-fg-2);font-size:var(--fs-10);margin:var(--space-8) 0 0}.mobile-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;min-height:calc(var(--tab-height) + env(safe-area-inset-bottom));padding:var(--space-1) var(--space-2) env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;border-top:1px solid var(--color-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-sticky);box-shadow:var(--shadow-float)}.tab-item{min-height:48px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-fg-2)}.tab-item span{font-size:var(--fs-10)}.tab-item.is-active{color:var(--color-gold)}.tab-item:active{opacity:.5}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);background:var(--color-mask);display:flex;justify-content:center;align-items:flex-end;animation:mask-in .2s ease}.sheet{width:100%;max-width:480px;max-height:90dvh;display:flex;flex-direction:column;background:var(--color-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-pop);animation:sheet-in .28s ease-out;overflow:hidden}.sheet-handle{width:36px;height:4px;border-radius:var(--radius-round);background:var(--color-line);margin:var(--space-2) auto 0;flex-shrink:0}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-4);border-bottom:1px solid var(--color-line)}.sheet-header h2{font-size:var(--fs-20);margin:0}.sheet-header p{color:var(--color-fg-2);font-size:var(--fs-12);margin:var(--space-1) 0 0}.icon-button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:0;background:transparent;color:var(--color-fg-1);margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0}.icon-button:active{opacity:.5}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}.mobile-form{display:grid;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-field{display:grid;gap:var(--space-2)}.form-field>span{color:var(--color-fg-1);font-size:var(--fs-13)}.form-field small{color:var(--color-fg-2);font-size:var(--fs-11)}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-ink);padding:var(--space-3);font-size:var(--fs-16)}.form-field textarea{min-height:96px;resize:vertical;line-height:var(--lh-tight)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-fg-2)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-gold)}.form-note{text-align:center;color:var(--color-fg-2);font-size:var(--fs-11);margin:calc(var(--space-2) * -1) 0 0}.form-course-summary{position:relative;padding:var(--space-4);background:var(--color-page);border-radius:var(--radius-md)}.form-course-summary>span{color:var(--color-fg-2);font-size:var(--fs-11)}.form-course-summary h3{font-size:var(--fs-16);margin:var(--space-1) 0 var(--space-3)}.form-course-summary p{display:flex;align-items:center;gap:var(--space-2);color:var(--color-fg-1);font-size:var(--fs-12);margin:var(--space-2) 0 0}.form-course-summary strong{position:absolute;right:var(--space-4);top:var(--space-4);color:var(--color-gold);font-size:var(--fs-22);font-weight:500}.sheet-success{text-align:center;padding:var(--space-5) 0 var(--space-2)}.sheet-success>svg{color:var(--color-gold)}.sheet-success h3{font-size:var(--fs-17);font-weight:500;margin:var(--space-4) 0 var(--space-2)}.sheet-success>p{color:var(--color-fg-1);font-size:var(--fs-13);line-height:var(--lh-body);margin:0 0 var(--space-6)}.success-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-gold);font-size:var(--fs-12);margin:calc(var(--space-3) * -1) 0 var(--space-6)}@keyframes tab-in{0%{opacity:0}to{opacity:1}}@keyframes mask-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@media(max-width:360px){.mobile-hero{height:440px}.mobile-hero h1{font-size:var(--fs-30)}.form-grid{grid-template-columns:1fr}.contact-cell{align-items:flex-start;flex-direction:column}.contact-cell strong{padding-left:var(--space-6)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.profile-resume{margin-bottom:var(--space-6);background:var(--color-card)}.profile-resume div{display:grid;gap:var(--space-2);padding:var(--space-4);position:relative}.profile-resume div+div:after{content:"";position:absolute;top:0;left:var(--space-4);right:0;height:1px;background:var(--color-line)}.profile-resume span{color:var(--color-gold);font-size:var(--fs-11)}.profile-resume strong{font-size:var(--fs-14);line-height:var(--lh-body);font-weight:500}button.contact-cell{width:100%;border:0;background:var(--color-card);text-align:left}button.contact-cell:active{background:var(--color-pressed)}.payment-panel{display:grid;gap:var(--space-4)}.payment-order{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);padding:var(--space-4);background:var(--color-page);border-radius:var(--radius-md)}.payment-order>span{color:var(--color-fg-2);font-size:var(--fs-11)}.payment-order>strong{font-size:var(--fs-13);text-align:right}.payment-order .payment-amount{color:var(--color-gold);font-size:var(--fs-28);font-weight:500}.payment-methods{border:0;padding:0;margin:0;display:grid;gap:var(--space-2)}.payment-methods legend{color:var(--color-fg-1);font-size:var(--fs-13);margin-bottom:var(--space-2)}.payment-methods label{min-height:52px;display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:0 var(--space-4);font-size:var(--fs-14)}.payment-methods input{accent-color:var(--color-gold)}.hero-carousel,.hero-carousel__slides{position:absolute;top:0;right:0;bottom:0;left:0}.hero-carousel__slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:0;transition:opacity .6s ease}.hero-carousel__slide.is-active{opacity:1}.mobile-hero__shade{z-index:1}.mobile-hero__content{z-index:2;bottom:70px}.hero-carousel__badge{position:absolute;top:var(--space-4);left:var(--space-4);z-index:4;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-overlay);color:var(--color-white-soft);font-size:var(--fs-10)}.hero-carousel__controls{position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-2);z-index:4;display:flex;align-items:center;justify-content:space-between}.hero-carousel__dots{display:flex;align-items:center}.hero-dot{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent}.hero-dot span{width:6px;height:6px;border-radius:var(--radius-round);background:var(--color-white-soft);transition:width .2s ease,background .2s ease}.hero-dot.is-active span{width:20px;background:var(--color-white)}.hero-dot:active{opacity:.5}.hero-pause{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--color-white-soft);border-radius:var(--radius-round);background:var(--color-overlay);color:var(--color-white)}.hero-pause:active{opacity:.5}.gallery-entry{width:calc(100% - var(--space-8));min-height:104px;margin:var(--space-6) var(--space-4) 0;padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);border:0;border-radius:var(--radius-lg);background:var(--color-card);text-align:left}.gallery-entry:active{background:var(--color-pressed)}.gallery-entry__previews{display:flex;align-items:center;flex-shrink:0}.gallery-entry__previews img{width:40px;height:58px;object-fit:cover;border:2px solid var(--color-card);border-radius:var(--radius-sm)}.gallery-entry__previews img+img{margin-left:-12px}.gallery-entry__text{flex:1;min-width:0}.gallery-entry__text strong{display:block;font-size:var(--fs-16);font-weight:500}.gallery-entry__text small{display:block;color:var(--color-fg-2);font-size:var(--fs-11);margin-top:var(--space-1)}.gallery-entry>svg{color:var(--color-gold);flex-shrink:0}.photo-album{padding-top:var(--space-8);padding-bottom:var(--space-8);scroll-margin-top:calc(var(--nav-height) + env(safe-area-inset-top))}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:0 var(--space-4)}.photo-card{aspect-ratio:3 / 4;padding:0;position:relative;overflow:hidden;border:0;border-radius:var(--radius-md);background:var(--color-pressed)}.photo-card:active{opacity:.7}.photo-card>img{width:100%;height:100%;object-fit:cover}.photo-card>span{position:absolute;left:0;right:0;bottom:0;padding:var(--space-6) var(--space-3) var(--space-3);background:linear-gradient(180deg,transparent,var(--color-overlay));color:var(--color-white);text-align:left}.photo-card strong{display:block;font-size:var(--fs-13);font-weight:500}.photo-card small{display:block;color:var(--color-white-soft);font-size:var(--fs-10);margin-top:var(--space-1)}.photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;flex-direction:column;background:var(--color-ink);color:var(--color-white);touch-action:pan-y}.photo-viewer__top{min-height:calc(var(--nav-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--space-4) 0;display:flex;align-items:center;justify-content:space-between}.photo-viewer__top>span{color:var(--color-white-soft);font-size:var(--fs-12)}.photo-viewer__close,.photo-viewer__actions button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--color-white)}.photo-viewer__close:active,.photo-viewer__actions button:active{opacity:.5}.photo-viewer__image{flex:1;min-height:0;display:grid;place-items:center;padding:var(--space-4)}.photo-viewer__image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.photo-viewer__footer{padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.photo-viewer__footer strong{display:block;font-size:var(--fs-16);font-weight:500}.photo-viewer__footer div>span{display:block;color:var(--color-white-soft);font-size:var(--fs-11);margin-top:var(--space-1)}.photo-viewer__actions{display:flex;gap:var(--space-2)}:root{--fs-40: 40px;--color-progress-track: rgba(255, 255, 255, .24)}.mobile-hero{height:min(66dvh,560px);min-height:500px;margin:0 0 var(--space-4);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.mobile-hero h1{font-size:var(--fs-40);text-shadow:0 2px 18px var(--color-overlay)}.hero-carousel__slide.is-active{animation:hero-push 4.5s linear both}.hero-carousel__count{position:absolute;top:var(--space-4);right:var(--space-4);z-index:4;color:var(--color-white);font-family:var(--font-serif);font-size:var(--fs-20);font-variant-numeric:tabular-nums}.hero-carousel__count small{color:var(--color-white-soft);font-size:var(--fs-11)}.hero-dot span{width:18px;height:2px;opacity:.55}.hero-dot.is-active span{width:32px;opacity:1}.hero-carousel__progress{position:absolute;left:0;right:0;bottom:0;z-index:4;height:2px;background:var(--color-progress-track)}.hero-carousel__progress span{display:block;height:100%;background:var(--color-white);transition:width .4s ease}@keyframes hero-push{0%{transform:scale(1)}to{transform:scale(1.045)}}@media(max-width:360px){.mobile-hero{height:68dvh;min-height:480px}.mobile-hero h1{font-size:var(--fs-34)}}.photo-group{margin-top:var(--space-6)}.photo-group__heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);margin-bottom:var(--space-3)}.photo-group__heading h3{font-size:var(--fs-16);font-weight:600;margin:0}.photo-group__heading span{color:var(--color-fg-2);font-size:var(--fs-11)}.hero-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}.hero-carousel:active{cursor:grabbing}.hero-carousel__slide{-webkit-user-drag:none;pointer-events:none}.hero-carousel button{cursor:pointer}.mobile-hero__content,.mobile-hero__shade{pointer-events:none}
