:root{--cream:#fbf7ef;--paper:#fffdf9;--beige:#eadcc8;--sand:#c7a77f;--brown:#51483f;--ink:#2f2a26;--muted:#746c64;--sky:#8ccae0;--sky-dark:#4e9db9;--line:rgba(81,72,63,.14);--radius:24px;--shadow:0 24px 70px rgba(77,62,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo",sans-serif;line-height:1.6}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");z-index:1000}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.skip-link{position:fixed;top:-80px;left:20px;background:#222;color:#fff;padding:12px 18px;border-radius:8px;z-index:1200}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(251,247,239,.88);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);box-shadow:0 10px 28px rgba(63,49,32,.05)}.nav-wrap{max-width:1240px;margin:auto;min-height:78px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;line-height:1.05}.brand-mark{width:40px;height:40px;border:1px solid var(--brown);border-radius:50%;display:grid;place-items:center;font-size:24px;transform:rotate(-15deg)}.brand b{font-family:"Gowun Batang",serif;font-size:17px}.brand small{display:block;margin-top:6px;font-size:9px;letter-spacing:.18em;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px}.main-nav>a{position:relative}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--sky-dark);transition:.2s}.main-nav>a:hover::after{right:0}.nav-cta{padding:11px 18px;border-radius:999px;background:var(--ink);color:white}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:5px}
.hero{max-width:1320px;min-height:720px;margin:auto;padding:78px 58px 70px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:58px;overflow:hidden}.eyebrow{margin:0 0 18px;color:var(--sky-dark);font-size:12px;font-weight:700;letter-spacing:.18em}.hero h1,.section-heading h2,.booking-card h2{font-family:"Gowun Batang",serif;font-size:clamp(48px,6vw,82px);line-height:1.13;letter-spacing:-.04em;margin:0}.hero h1 em{color:var(--sky-dark);font-style:normal;position:relative}.hero h1 em::after{content:"";position:absolute;height:9px;bottom:1px;left:-2px;right:-4px;background:rgba(140,202,224,.22);z-index:-1;border-radius:20px}.hero-text{font-size:18px;color:var(--muted);max-width:590px;margin:28px 0 32px}.hero-actions,.booking-actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:1px solid var(--ink);border-radius:999px;min-height:51px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(49,41,31,.12)}.button.primary{background:var(--ink);color:#fff}.button.ghost{background:transparent}.quick-info{display:flex;gap:34px;border-top:1px solid var(--line);margin-top:44px;padding-top:20px;color:var(--muted);font-size:12px}.quick-info span{display:flex;flex-direction:column}.quick-info b{color:var(--ink);font-size:10px;letter-spacing:.16em}.hero-visual{position:relative;min-height:560px}.sun-orb{position:absolute;width:410px;height:410px;border-radius:50%;right:-25px;top:44px;background:linear-gradient(145deg,#f4e5c9,#cfeaf2);filter:blur(.2px)}.photo-card{position:absolute;left:70px;top:5px;width:min(380px,70%);margin:0;padding:14px 14px 20px;background:var(--paper);box-shadow:var(--shadow);transform:rotate(2.5deg);z-index:2}.photo-card img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.photo-card figcaption{text-align:center;font-family:"Gowun Batang",serif;font-size:14px;letter-spacing:.09em;margin-top:12px;color:var(--muted)}.mini-card{position:absolute;right:6px;bottom:60px;width:205px;padding:26px;background:var(--sky);border-radius:4px;z-index:3;box-shadow:var(--shadow);transform:rotate(-5deg)}.mini-card span{font-size:11px;letter-spacing:.1em}.mini-card b{display:block;font-family:"Gowun Batang",serif;font-size:21px;line-height:1.4;margin-top:7px}.spark{position:absolute;color:var(--sky-dark);font-size:23px}.spark-a{top:12px;right:20px}.spark-b{bottom:58px;left:18px;font-size:15px}
.section-shell{max-width:1240px;margin:auto;padding:110px 28px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:44px}.section-heading h2,.booking-card h2{font-size:clamp(38px,4.5vw,60px)}.section-heading>p{max-width:410px;color:var(--muted);margin:0}.service-explorer{display:grid;grid-template-columns:330px 1fr;border:1px solid var(--line);background:rgba(255,253,249,.65);border-radius:var(--radius);overflow:hidden;box-shadow:0 26px 80px rgba(85,66,43,.07)}.service-tabs{padding:18px;background:#f0e6d7;display:flex;flex-direction:column;gap:5px}.service-tab{display:flex;align-items:center;gap:15px;border:0;background:transparent;text-align:left;padding:19px;border-radius:16px;cursor:pointer;transition:.2s}.service-tab:hover{background:rgba(255,255,255,.5)}.service-tab.active{background:var(--paper);box-shadow:0 9px 25px rgba(91,70,45,.08)}.tab-icon{width:39px;height:39px;border:1px solid var(--sand);border-radius:50%;display:grid;place-items:center;font-family:"Gowun Batang",serif}.service-tab.active .tab-icon{background:var(--sky);border-color:var(--sky)}.service-tab b,.service-tab small{display:block}.service-tab b{font-size:16px}.service-tab small{color:var(--muted);font-size:12px;margin-top:2px}.service-panel{display:grid;grid-template-columns:1fr 1.12fr;min-height:570px}.service-image{overflow:hidden;background:#e8ddcb}.service-image img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s,transform .5s}.service-panel.changing .service-image img{opacity:.3;transform:scale(1.04)}.service-detail{padding:56px 50px;position:relative}.service-number{position:absolute;right:40px;top:34px;font-family:"Gowun Batang",serif;font-size:50px;color:rgba(140,202,224,.5)}.service-detail h3{font-family:"Gowun Batang",serif;font-size:38px;margin:0 0 13px}.service-detail>p{color:var(--muted);font-size:16px}.service-detail ul{list-style:none;padding:0;margin:24px 0}.service-detail li{padding:9px 0;border-bottom:1px dashed var(--line)}.service-detail li::before{content:"✓";color:var(--sky-dark);font-weight:700;margin-right:10px}.prepare-card{background:#edf7fa;border-left:3px solid var(--sky);padding:15px 18px;margin:25px 0}.prepare-card span{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--sky-dark)}.prepare-card p{margin:4px 0 0;font-size:14px;color:var(--brown)}
.story-section{background:#36322f;color:#fff;padding:10px 0 0}.light-heading>p,.light-heading .eyebrow{color:#a9dceb}.light-heading>p{opacity:.75}.filter-row{display:flex;gap:9px;margin:-10px 0 30px;flex-wrap:wrap}.filter-btn{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:999px;padding:8px 17px;cursor:pointer}.filter-btn.active{background:var(--sky);border-color:var(--sky);color:var(--ink)}.gallery{display:grid;grid-template-columns:1.05fr .95fr 1.1fr;grid-auto-rows:240px;gap:14px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#e9ddcb;cursor:pointer;border-radius:4px;grid-row:span 1}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,filter .4s}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(20,18,15,.75));}.gallery-item span{position:absolute;left:21px;bottom:18px;z-index:2;text-align:left;font-size:10px;letter-spacing:.16em;color:#fff}.gallery-item span b{display:block;font-family:"Gowun Batang",serif;font-size:18px;letter-spacing:0;margin-top:3px}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1.08)}.gallery-item.hidden{display:none}.sample-note{font-size:12px;color:rgba(255,255,255,.58);margin:16px 0 0}.review-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.17);margin-top:64px}.review-strip blockquote{margin:0;background:#36322f;padding:34px}.review-strip span{color:#f3d897;letter-spacing:.12em}.review-strip p{font-family:"Gowun Batang",serif;font-size:17px;line-height:1.7;min-height:58px}.review-strip cite{font-style:normal;font-size:12px;color:rgba(255,255,255,.58)}
.reserve{padding-top:120px;padding-bottom:120px}.reserve-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px}.booking-card,.visit-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 22px 70px rgba(86,65,40,.08);overflow:hidden}.booking-card{padding:48px}.booking-card h2{font-size:44px}.booking-intro{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;padding:0;margin:30px 0}.choice-grid legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;border:1px solid var(--line);border-radius:12px;padding:13px;text-align:center;cursor:pointer;transition:.2s}.choice-grid input:checked+span{background:var(--sky);border-color:var(--sky);font-weight:700}.choice-grid input:focus-visible+span{outline:3px solid rgba(78,157,185,.35)}.booking-summary{background:#f6efe4;padding:20px;border-radius:14px}.booking-summary span{font-size:11px;color:var(--muted);letter-spacing:.1em}.booking-summary strong{display:block;font-family:"Gowun Batang",serif;font-size:21px}.booking-summary p{font-size:13px;color:var(--muted);margin:9px 0 0}.booking-actions{margin-top:18px}.copy-status{height:20px;font-size:13px;color:var(--sky-dark);margin:8px 0 0}.visit-card{display:flex;flex-direction:column}.map-illustration{position:relative;min-height:270px;background:#e3eff0;overflow:hidden}.road{position:absolute;background:#fff9ee;border:1px solid rgba(81,72,63,.1)}.road-a{width:130%;height:44px;left:-15%;top:120px;transform:rotate(-7deg)}.road-b{width:52px;height:130%;top:-15%;left:52%;transform:rotate(10deg)}.map-illustration svg{position:absolute;width:100%;height:100%}.pin{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;font-size:12px}.pin i{width:21px;height:21px;border-radius:50% 50% 50% 0;background:var(--sky-dark);transform:rotate(-45deg);box-shadow:0 6px 15px rgba(50,80,90,.22)}.pin i::after{content:"";display:block;width:7px;height:7px;border-radius:50%;background:white;margin:7px}.pin span{background:white;padding:5px 9px;border-radius:7px;box-shadow:0 5px 15px rgba(50,80,90,.12)}.studio-pin{right:14%;top:24%}.parking-pin{left:12%;bottom:16%}.parking-pin i{background:var(--sand)}.visit-content{padding:35px 40px 39px}.visit-content h3{font-family:"Gowun Batang",serif;font-size:31px;margin:0}.visit-content dl{margin:22px 0}.visit-content dl div{display:grid;grid-template-columns:64px 1fr;border-top:1px solid var(--line);padding:12px 0;font-size:14px}.visit-content dt{font-weight:700}.visit-content dd{margin:0;color:var(--muted)}.visit-links{display:flex;gap:25px;font-weight:600;font-size:14px}.visit-links a span{color:var(--sky-dark);margin-left:5px}footer{background:#e9dcc8;padding:37px 28px}.footer-inner{max-width:1184px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.footer-brand{color:var(--ink)}.footer-brand .brand-mark{width:33px;height:33px}.lightbox{width:min(700px,calc(100% - 30px));border:0;padding:12px;background:var(--paper);border-radius:8px;box-shadow:var(--shadow)}.lightbox::backdrop{background:rgba(25,22,20,.82);backdrop-filter:blur(5px)}.lightbox img{display:block;width:100%;max-height:75vh;object-fit:contain}.lightbox p{font-family:"Gowun Batang",serif;text-align:center;font-size:19px;margin:13px}.lightbox-close{position:absolute;right:20px;top:20px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:25px;cursor:pointer;z-index:2}.mobile-cta{display:none}
@media(max-width:900px){.hero{padding:60px 28px;grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:720px}.hero-visual{min-height:520px}.service-explorer{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:10px}.service-tab{justify-content:center;padding:13px 7px}.service-tab>span:last-child small{display:none}.service-panel{grid-template-columns:.92fr 1.08fr;min-height:520px}.service-detail{padding:42px 30px}.gallery{grid-template-columns:1fr 1fr}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}.reserve-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>p:last-child{display:none}}
@media(max-width:700px){body{padding-bottom:63px}.nav-wrap{min-height:68px;padding:0 18px}.menu-toggle{display:block;z-index:101}.main-nav{position:fixed;left:14px;right:14px;top:72px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(-12px);pointer-events:none;transition:.22s}.main-nav.open{opacity:1;transform:none;pointer-events:auto}.main-nav a{padding:13px 15px}.main-nav .nav-cta{text-align:center;margin-top:5px}.hero{padding:48px 20px 55px;gap:22px}.hero h1{font-size:46px}.hero-text{font-size:16px}.hero-actions .button{flex:1}.quick-info{gap:18px;flex-direction:column}.hero-visual{min-height:430px}.sun-orb{width:330px;height:330px;right:-80px}.photo-card{left:7%;width:72%}.mini-card{right:0;bottom:28px;width:175px;padding:20px}.section-shell{padding:80px 20px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:15px}.section-heading h2,.booking-card h2{font-size:37px}.service-tabs{grid-template-columns:1fr 1fr}.service-tab{justify-content:flex-start}.service-panel{grid-template-columns:1fr}.service-image{height:330px}.service-detail{padding:35px 24px}.service-number{top:22px;right:24px;font-size:40px}.story-section .section-shell{padding-top:80px}.gallery{grid-template-columns:1fr;grid-auto-rows:290px}.review-strip{grid-template-columns:1fr;margin-top:45px}.review-strip blockquote:not(:first-child){display:none}.booking-card{padding:32px 22px}.booking-actions .button{width:100%}.map-illustration{min-height:230px}.visit-content{padding:30px 24px}.visit-links{flex-direction:column;gap:10px}.footer-inner{display:block}.footer-inner>p{margin:15px 0 0}.mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:90;background:var(--paper);border-top:1px solid var(--line);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:7px}.mobile-cta a{text-align:center;padding:9px;border-radius:10px;background:var(--ink);color:#fff;font-size:14px}.mobile-cta a:last-child{background:var(--sky);color:var(--ink)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Reference-inspired editorial layout */
:root{--cream:#fff;--paper:#fff;--ink:#2d2b28;--brown:#48443f;--muted:#817d77;--sky:#e4ddd3;--sky-dark:#777166;--line:#e5e1db;--shadow:none}body::before{display:none}.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.nav-wrap{max-width:1440px;min-height:96px;padding:0 5vw}.brand-mark{display:none}.brand b{font-weight:400;font-size:22px}.main-nav{gap:28px}.nav-cta{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:0}.section-shell{max-width:1440px;padding:100px 5vw}.eyebrow{font-size:10px;font-weight:400;color:#928b80;letter-spacing:.18em}.editorial-intro{padding-top:90px;padding-bottom:70px}.editorial-intro h1{font-family:'Gowun Batang',serif;font-size:clamp(44px,6vw,80px);font-weight:400;line-height:1.3;letter-spacing:-.055em;margin:0 0 26px}.editorial-intro>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.text-link{display:inline-block;margin-top:24px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.story-section{background:#fff;color:var(--ink)}.story-section .section-shell{padding-top:24px}.section-heading{gap:24px}.section-heading h2{font-size:clamp(27px,3.4vw,44px);font-weight:400}.light-heading>p,.light-heading .eyebrow{color:var(--muted)}.filter-btn{border-color:var(--line);color:var(--ink)}.filter-btn.active{background:#ede9e3;border-color:#ede9e3}.gallery{display:flex;flex-direction:column;gap:45px}.gallery-item,.gallery-item.tall,.gallery-item.wide{height:auto;background:transparent;overflow:visible;text-align:left;border-radius:0}.gallery-item img{width:100%;height:clamp(220px,29vw,420px);object-fit:cover;border-radius:32px}.gallery-item::after{display:none}.gallery-item span{position:static;display:block;color:var(--muted);font-size:10px;margin-top:17px;letter-spacing:.12em}.gallery-item span b{font-family:inherit;font-size:clamp(21px,2.5vw,32px);font-weight:600;color:var(--ink);margin-top:6px}.gallery-item:hover img{transform:none;filter:brightness(.97)}.sample-note{color:var(--muted);font-size:11px;margin-top:35px}.services{max-width:none;background:#f2efea;padding:100px 5vw}.services>.section-heading,.service-explorer,.shoot-slider{max-width:1296px;margin-left:auto;margin-right:auto}.services .section-heading{display:block;text-align:center}.services .section-heading>p{max-width:none;margin-top:18px}.shoot-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 0 24px;scrollbar-width:thin}.shoot-card{flex:0 0 calc((100% - 48px)/3);min-width:250px;background:white;border:1px solid #e8e4de;border-radius:16px;padding:15px;text-align:center;scroll-snap-align:start;cursor:pointer}.shoot-card img{display:block;width:100%;height:270px;object-fit:cover;border-radius:11px}.shoot-card>span{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);margin-top:24px}.shoot-card h3{font-size:18px;font-weight:500;margin:10px 0}.shoot-card p{font-size:12px;margin:16px 0 12px}.shoot-card:hover{border-color:#b4aba0}.slider-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin:12px 0 60px}.slider-controls button{border:0;background:transparent;font-size:26px;cursor:pointer}.slider-controls span{font-size:9px;letter-spacing:.16em;color:var(--muted)}.service-explorer{border-radius:12px;box-shadow:none;grid-template-columns:260px 1fr}.service-tabs{background:#e9e5de}.service-panel{min-height:500px}.service-detail{padding:40px 32px}.service-detail h3{font-size:30px}.service-number{color:#d8d1c6}.prepare-card{background:#f4f1ec;border-color:#bcb2a4}.service-tab.active .tab-icon{background:#e4ddd3;border-color:#e4ddd3}.contact-heading{padding-bottom:70px}.contact-heading h2{font-family:Georgia,serif;color:#77756f;font-size:clamp(46px,6.5vw,88px);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin:28px 0 40px}.contact-heading>p:last-child{font-family:'Gowun Batang',serif;color:#9a958c;font-size:23px}.booking-card,.visit-card{box-shadow:none;border-radius:0}.booking-card{padding:38px}.booking-card h2{font-size:32px}.map-illustration{background:#efede7}.booking-summary{background:#f5f3ef}.choice-grid input:checked+span{background:#e4ddd3;border-color:#e4ddd3}footer{background:#f4f2ed;padding:55px 5vw 24px}.footer-inner{max-width:1296px}.back-top{display:block;text-align:right;margin-top:45px;font-size:10px;letter-spacing:.12em}.button{border-radius:4px;font-size:13px}.service-tab{border-radius:8px}.nav-cta:hover{background:#f4f2ed}:focus-visible{outline:2px solid #746b5c;outline-offset:4px}
@media(max-width:900px){.service-explorer{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.shoot-card{flex-basis:calc((100% - 24px)/2)}.reserve-grid{grid-template-columns:1fr}.main-nav{gap:16px}}
@media(max-width:700px){.nav-wrap{min-height:76px;padding:0 20px}.main-nav{top:80px}.brand b{font-size:18px}.section-shell,.services{padding:65px 20px}.editorial-intro{padding-top:55px;padding-bottom:40px}.editorial-intro h1{font-size:44px}.editorial-intro>p:not(.eyebrow){font-size:13px}.story-section .section-shell{padding-top:20px}.gallery{gap:30px}.gallery-item img{border-radius:20px;height:230px}.gallery-item span b{font-size:22px}.shoot-card{flex-basis:84%;min-width:0}.shoot-card img{height:280px}.service-tabs{grid-template-columns:1fr 1fr}.service-panel{grid-template-columns:1fr}.service-image{height:280px}.service-detail{padding:30px 22px}.contact-heading{padding-bottom:35px}.contact-heading>p:last-child{font-size:18px}.contact-heading h2{font-size:48px}.booking-card{padding:28px 20px}.section-heading>p{font-size:14px}.footer-inner{display:block}.mobile-cta a{border-radius:4px}.shoot-track{gap:16px}.slider-controls{gap:20px}.booking-card h2{font-size:29px}}

/* Photographic assets: retain faces in horizontal and portrait frames. */
.gallery-item img{height:auto;aspect-ratio:2.25;object-position:50% 24%}.gallery-item[data-category="family"] img{object-position:50% 22%}.shoot-card img{object-position:50% 28%}.service-image img{object-position:50% 30%}.service-panel:has(img[src*="photo-family"]) .service-image img,.service-panel:has(img[src*="photo-snap"]) .service-image img{object-fit:contain;background:#f0ede7}.sample-note{line-height:1.8}@media(max-width:700px){.gallery-item img{height:auto;aspect-ratio:1.5;object-position:center}.shoot-card img{height:260px}.service-image{height:330px}.service-image img{object-fit:contain;background:#f0ede7}}

.map-link{display:block;cursor:pointer}.map-open-label{position:absolute;left:18px;top:18px;z-index:4;background:#fff;padding:9px 14px;border:1px solid var(--line);border-radius:4px;font-size:12px;font-weight:600}.map-link:hover .map-open-label{background:#2d2b28;color:white}.map-link:focus-visible{outline:3px solid #746b5c;outline-offset:-3px}

.footer-contact{max-width:1296px;margin:36px auto 0;border-top:1px solid var(--line);padding-top:30px}.social-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.social-links a{display:grid;grid-template-columns:1fr auto;gap:5px 12px;border:1px solid #dcd7ce;padding:20px 22px;transition:background .2s}.social-links a:hover{background:#eae5dc}.social-links span{grid-column:1;font-size:9px;letter-spacing:.16em;color:var(--muted)}.social-links b{grid-column:1;font-size:16px;font-weight:500}.social-links i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:22px}.business-info{margin-top:28px;font-size:12px;color:#716b63;line-height:1.9}.business-info p{margin:6px 0}.business-info p:first-child{display:flex;flex-wrap:wrap;gap:4px 24px}.business-info a:hover{text-decoration:underline}@media(max-width:700px){.social-links{grid-template-columns:1fr;gap:10px}.social-links a{padding:16px 18px}.business-info p:first-child{flex-direction:column;gap:2px}.footer-contact{margin-top:28px}}

/* Compact contact links inside the booking card. */
.booking-card .social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;width:100%;min-width:0}.booking-card .social-links a{min-width:0;padding:12px 13px;gap:3px 8px;border-radius:4px}.booking-card .social-links span{font-size:8px;letter-spacing:.11em}.booking-card .social-links b{font-size:13px;overflow-wrap:anywhere}.booking-card .social-links i{font-size:16px}.booking-card .social-links a:last-child{grid-column:1/-1}.booking-card .copy-status:empty{height:0;margin:0}.footer-contact .business-info{margin-top:0}@media(max-width:360px){.booking-card .social-links{grid-template-columns:1fr}.booking-card .social-links a:last-child{grid-column:auto}}
/* Gentle motion for the studio's editorial layout. */
.motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.motion-reveal.is-visible,.motion-reveal:focus-within{opacity:1;transform:none}
.gallery-item img{transition:transform .6s cubic-bezier(.2,.65,.3,1),filter .5s ease}.gallery-item span b{transition:color .25s,transform .3s}.gallery-item:active img{transform:scale(.99)}.gallery-item:focus-visible{outline-offset:8px}.button,.filter-btn,.service-tab,.shoot-card,.social-links a,.choice-grid span{transition:background .25s,color .25s,border-color .25s,box-shadow .3s,transform .3s}.button:active,.filter-btn:active,.shoot-card:active,.social-links a:active{transform:scale(.98)}.social-links i,.visit-links a span{display:inline-block;transition:transform .25s}.service-detail{transition:opacity .18s ease,transform .18s ease}.service-panel.changing .service-detail{opacity:0;transform:translateY(7px)}.choice-grid input:checked+span{box-shadow:inset 0 0 0 1px #b9ae9d}.slider-controls button{transition:opacity .2s,transform .2s}.slider-controls button:disabled{opacity:.22;cursor:default}.slider-controls button:active:not(:disabled){transform:scale(.85)}.slider-controls span{font-variant-numeric:tabular-nums;min-width:72px;text-align:center}.menu-toggle span{transition:transform .25s,opacity .2s}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.lightbox[open]{animation:lightbox-in .25s ease-out}.lightbox[open]::backdrop{animation:backdrop-in .25s ease-out}.lightbox-close{transition:background .2s,transform .25s}.text-link,.back-top{transition:color .2s,letter-spacing .25s}.map-open-label{transition:background .25s,color .25s}.map-link .studio-pin{transition:transform .35s}.copy-status:not(:empty){animation:feedback-in .25s ease-out}
@media(hover:hover) and (pointer:fine){.gallery-item:hover img{transform:scale(1.018);filter:brightness(1.025)}.gallery-item:hover span b{transform:translateX(5px);color:#82745f}.shoot-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #4235250d}.social-links a:hover{transform:translateY(-2px)}.social-links a:hover i,.visit-links a:hover span{transform:translate(3px,-3px)}.map-link:hover .studio-pin{transform:translateY(-4px)}.lightbox-close:hover{transform:rotate(90deg);background:#eae4da}.text-link:hover,.back-top:hover{letter-spacing:.04em}}
@keyframes lightbox-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes feedback-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none}.gallery-item:hover img,.gallery-item:hover span b,.shoot-card:hover,.social-links a:hover,.map-link:hover .studio-pin{transform:none}.service-panel.changing .service-detail{opacity:1;transform:none}}

/* Kakao and Naver Blog share the second row equally. */
.booking-card .social-links{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card .social-links a:last-child{grid-column:auto}@media(max-width:360px){.booking-card .social-links a{padding:11px 9px;gap:3px 5px}.booking-card .social-links b{font-size:12px}}
