/* Quiet: one system type family; photography supplies the color. */
:root{--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;--ink:#1d1d1f;--paper:#fff;--paper-2:#f5f5f7;--muted:#6e6e73;--line:#e5e5e7;--accent:#0071e3;--white:#fff}
body,button,input,select,textarea{font-family:var(--font)}
.mono,.eyebrow,.topbar,h1,h2,.intro h2,.archive-end h2,.scroll-cue,.counter,.tab,.photo-meta span,footer,.field label,.panel-title h2,.stat strong,.section-row small,.section-actions button,.status,.lightbox figcaption span,.close{font-family:var(--font)}
body{-webkit-font-smoothing:antialiased;letter-spacing:-.015em}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #0071e3;outline-offset:5px}
html{scroll-padding-top:90px}a{color:inherit}em{font-style:normal}
.topbar{position:relative;z-index:10;min-height:68px;max-width:1440px;margin:auto;padding:0 clamp(24px,5vw,80px);color:var(--ink);font-size:12px;letter-spacing:0;line-height:1.5}
.brand{font-size:20px;font-weight:650;letter-spacing:-.065em}
.topbar nav{gap:30px}.topbar nav a{color:#515154;transition:color .2s}.topbar nav a:hover{color:#000}
.account-link{border:0;background:#f5f5f7;padding:9px 17px;border-radius:100px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero{min-height:0;overflow:visible;background:#fff;color:var(--ink);padding-bottom:0}
.hero::after{display:none}
.hero-copy{min-height:0;display:flex;align-items:center;justify-content:center;padding:66px 24px 50px;text-align:center}
.eyebrow,.mono{font-size:12px;font-weight:550;line-height:1.5;letter-spacing:.01em;text-transform:none;color:var(--muted)}
h1{max-width:1000px;font-size:clamp(52px,6.2vw,90px);font-weight:650;line-height:1.04;letter-spacing:-.065em;margin:20px 0 0}
h1 span{color:#86868b}.hero-description{max-width:none;color:#6e6e73;font-size:18px;line-height:1.6;margin:23px 0 0;letter-spacing:-.035em}
.scroll-cue{margin-top:23px;color:var(--accent);font-size:14px;font-weight:500;letter-spacing:0;gap:8px;line-height:1.5}.scroll-cue::before{display:none}.scroll-cue:hover{text-decoration:underline}
.hero-media{position:relative;isolation:isolate;width:calc(100% - 80px);max-width:1440px;height:clamp(380px,52vw,680px);margin:0 auto;overflow:hidden;border-radius:26px;background:#1d1d1f}
.hero-slide{transition:opacity 1.5s ease,transform 10s ease;transform:scale(1.025)}
.hero-media::after{content:"";position:absolute;z-index:1;inset:55% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}
.hero-media-bottom{position:absolute;z-index:2;bottom:26px;left:32px;right:26px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:12px;font-weight:500;letter-spacing:0}
.slideshow-controls{display:flex;gap:18px;align-items:center}.counter{display:block;color:#fff;font-size:12px;letter-spacing:0;font-variant-numeric:tabular-nums}.counter span:first-child{font-size:inherit;color:inherit;text-transform:none}
#slideshow-toggle{width:36px;height:36px;border:1px solid #ffffff70;border-radius:50%;background:#ffffff20;color:#fff;font-size:14px;backdrop-filter:blur(16px)}
main{max-width:1440px;margin:auto;padding:110px 60px 0}
.intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:38px}.intro h2{font-weight:650;font-size:clamp(28px,3vw,44px);line-height:1.2;letter-spacing:-.055em;margin-top:12px}.intro p{max-width:390px;margin:0;color:var(--muted);font-size:15px;line-height:1.85;word-break:keep-all}
.tabs{top:0;border:0;background:#ffffffeb;padding:18px 0;margin:0 0 22px;gap:9px;scrollbar-width:none;backdrop-filter:blur(18px)}.tabs::-webkit-scrollbar{display:none}
.tab{background:#f5f5f7;color:#626267;font-size:13px;line-height:1.5;font-weight:500;min-height:42px;padding:10px 19px;transition:background .2s,color .2s}.tab:hover{background:#e8e8ed;color:#1d1d1f}.tab[aria-selected="true"]{background:#1d1d1f;color:#fff}
.gallery{columns:3 280px;column-gap:24px}.photo{border-radius:19px;background:#f5f5f7;margin-bottom:24px}.photo img{filter:none;min-height:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.photo:hover img,.photo:focus-visible img{filter:none;transform:scale(1.025)}
.photo-meta{padding:60px 23px 20px}.photo-meta strong{font-size:14px;font-weight:550}.photo-meta span{font-size:12px;line-height:1.8}
.archive-end{display:flex;flex-direction:column;align-items:center;text-align:center;border:0;margin:110px -60px 0;padding:105px 30px;background:#f5f5f7;gap:0;border-radius:28px 28px 0 0}
.archive-end h2{font-size:clamp(29px,3.7vw,50px);line-height:1.3;font-weight:650;letter-spacing:-.055em;margin:18px 0 22px}.archive-end h2 span{color:#86868b}.archive-end p{font-size:15px;line-height:1.9;max-width:540px;word-break:keep-all}.archive-end>a{color:var(--accent);text-decoration:none;font-size:14px;margin-top:28px}
footer{max-width:1440px;margin:auto;background:#f5f5f7;border:0;padding:26px 60px;font-size:11px;line-height:1.7;letter-spacing:0}footer a{text-decoration:none}
.member-menu{border:1px solid #e5e5e7;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 16px 60px #0002;letter-spacing:0;line-height:1.6;max-width:calc(100vw - 32px)}
.member-menu button,.member-menu a{color:#1d1d1f!important;font-size:13px}.member-menu input,.consent input{accent-color:var(--accent)}.member-menu #member-label{font-weight:650;font-size:16px}
.lightbox{background:#101011f5;padding:60px 60px 24px}.lightbox::backdrop{background:#101011f5}.lightbox figure{height:calc(100svh - 105px);max-height:none}.lightbox figcaption{font-size:13px;gap:24px;line-height:1.5}.lightbox figcaption strong{font-weight:500}.lightbox figcaption span{font-size:12px}.close,.arrow{min-width:44px;min-height:44px}.close{top:12px;right:20px}.arrow{padding:10px}.heart-button{background:#242426bf;border-color:#ffffff40;backdrop-filter:blur(15px)}.heart-button[aria-pressed="true"]{color:#ff6575}.heart-notice a{color:#8bc5ff}
/* The same restrained type system continues into the private workspace. */
.account-page{background:#f5f5f7;color:#1d1d1f}.account-page .topbar{background:transparent}.account-page .topbar nav a{color:#6e6e73}
.account-shell{padding-top:22px}.login-wrap{min-height:calc(100svh - 150px);padding:20px 0}.login-card{width:min(470px,100%);padding:40px;background:white;border:1px solid #e5e5e7;border-radius:24px;box-shadow:0 16px 60px #00000006}.login-card h1{font-size:44px;line-height:1.1;letter-spacing:-.055em}.login-card p{color:#6e6e73;font-size:14px}.login-card .notice{color:#b42318}
.field label{color:#515154;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.field input,.field select,.photo-editor input,.section-create input,.photo-editor select,.upload-controls select,#campaign-message{background:#fff;border:1px solid #d2d2d7;border-radius:10px;color:#1d1d1f;min-height:44px;font-family:var(--font)}
.field input:focus,.photo-editor input:focus,.section-create input:focus,#campaign-message:focus{outline:3px solid #0071e340;border-color:#0071e3}.field small{color:#6e6e73;font-size:12px}
.primary{border-radius:100px;background:#0071e3;color:#fff;font-size:13px;font-weight:550;min-height:44px;padding:12px 20px}.primary:hover{background:#0077ed}.secondary{border-radius:100px;border:1px solid #d2d2d7;color:#1d1d1f;background:#fff;font-size:13px;min-height:40px}.text-button{color:#0071e3;font-size:13px}.danger{color:#b42318}.notice{color:#b42318}.notice.success{color:#217647}
.admin-header{border-color:#ddd}.admin-header h1{font-size:54px;line-height:1.1}.admin-header p{color:#6e6e73;font-size:14px;line-height:1.7}.panel{border:1px solid #e5e5e7;background:#fff;border-radius:20px;overflow:hidden}.panel-title{border-color:#e5e5e7}.panel-title h2{font-size:18px;font-weight:600;letter-spacing:-.035em}.panel-body>p{font-size:14px;color:#6e6e73;line-height:1.7}.stat{border-radius:12px;background:#f5f5f7;padding:12px}.stat strong{font-weight:600}.stat span,.section-row small,.dropzone p,.status{color:#6e6e73}.section-row{border-color:#e5e5e7}.section-row small{display:block;font-size:10px;letter-spacing:0}.section-actions button{color:#515154;font-size:10px;letter-spacing:0}.section-actions button.danger{color:#b42318}.dropzone{border-color:#c7c7cc;border-radius:14px;background:#fafafa}.dropzone.is-dragging{background:#e9f3ff}.admin-photo{border-color:#e5e5e7;background:#fff;border-radius:14px}.member-row{border-color:#e5e5e7}.consent{color:#515154}.privacy-copy{opacity:1}.photo-tools{flex-wrap:wrap}
@media(max-width:900px){main{padding:80px 28px 0}.hero-media{width:calc(100% - 48px)}.intro{align-items:start;flex-direction:column;gap:18px}.gallery{columns:2 220px;column-gap:18px}.photo{margin-bottom:18px}.archive-end{margin:80px -28px 0;padding:80px 24px}footer{padding:24px 28px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.topbar{min-height:64px;padding:0 20px}.brand{font-size:18px}.topbar nav{gap:16px}.topbar nav a{font-size:11px}.topbar nav>a[href="#about"],.topbar nav>a[href^="mailto:"]{display:none}.account-link{padding:8px 13px;max-width:110px}.hero-copy{padding:42px 22px 38px}.hero-copy h1{font-size:56px;letter-spacing:-.065em}.hero-description{font-size:15px;margin-top:20px}.eyebrow{font-size:11px}.hero-media{width:calc(100% - 28px);height:440px;border-radius:20px}.hero-media-bottom{left:22px;right:18px;bottom:18px;font-size:11px}.counter{display:block}.gallery{columns:2;column-gap:12px}.photo{border-radius:13px;margin-bottom:12px}.photo-meta{display:none}main{padding:64px 20px 0}.intro h2{font-size:29px}.intro p{font-size:14px}.tabs{margin-bottom:16px;gap:7px}.tab{padding:10px 15px;font-size:12px}.archive-end{margin:64px -20px 0;padding:70px 22px;border-radius:22px 22px 0 0}.archive-end h2{font-size:30px}.archive-end p{font-size:13px}footer{display:flex;flex-wrap:wrap;font-size:10px;gap:12px 20px;padding:22px}.lightbox{padding:70px 18px 25px}.lightbox figure{height:calc(100svh - 125px)}.lightbox figcaption{display:block}.lightbox figcaption span{display:block;margin-top:5px}.arrow{display:block;top:auto;bottom:6px;transform:none;font-size:28px}.prev{left:22px}.next{right:22px}.heart-button{bottom:95px;right:8px}.login-card{padding:28px 24px;border-radius:20px}.login-card h1{font-size:38px}.admin-header h1{font-size:44px}.panel-title{flex-wrap:wrap}.member-menu{right:0}.account-page .topbar nav a{display:block!important}}
/* Full-bleed opening: keep the quiet typography and all lower sections. */
.hero{isolation:isolate;display:flex;flex-direction:column;min-height:100svh;background:#1d1d1f;color:#fff}
.hero .topbar{width:100%;flex-shrink:0;color:#fff}
.hero .topbar nav>a{color:#ffffffe6}
.hero .topbar nav>a:hover{color:#fff}
.hero .account-link{background:#ffffff1f;border:1px solid #ffffff45;backdrop-filter:blur(16px)}
.hero .hero-media{position:absolute;z-index:0;inset:0;width:100%;max-width:none;height:100%;margin:0;border-radius:0}
.hero .hero-media::after{inset:0;background:linear-gradient(180deg,#0005,transparent 30%,#0004),linear-gradient(90deg,#0006,#0002 70%)}
.hero .hero-copy{z-index:2;flex:1;align-items:flex-start;justify-content:center;text-align:left;width:100%;max-width:1440px;margin:0 auto;padding:70px clamp(24px,8vw,120px) 125px;pointer-events:none}
.hero .hero-copy h1{color:#fff;text-shadow:0 2px 24px #0002}
.hero .hero-copy h1 span{color:#ffffffe0}
.hero .eyebrow,.hero .hero-description{color:#ffffffe0}
.hero .scroll-cue{color:#fff;pointer-events:auto}
.hero .hero-media-bottom{left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:28px}
@media(max-width:600px){.hero .hero-copy{padding:60px 26px 115px}.hero .hero-copy h1{font-size:clamp(44px,12vw,56px)}.hero .hero-media-bottom{left:26px;right:22px;bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
