@charset "UTF-8";
:root { --ink:#282e27; --ink-soft:#6e726b; --cream:#f7f5ef; --cream-deep:#eeeae2; --forest:#303e31; --warm:#b77c5b; --border:#d9d6cc; --white:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family: "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
body.modal-open { overflow:hidden; }
a { text-decoration:none;color:inherit; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
img { max-width:100%;display:block; }
section[id] { scroll-margin-top:90px; }
.wrap { width:min(1360px, calc(100% - 112px)); margin-inline:auto; }
.skip-link { position:absolute;top:-60px;left:12px;padding:12px;background:white;z-index:1000; }
.skip-link:focus { top:6px; }
.site-header { position:sticky;top:0;z-index:20; background:rgba(247,245,239,.95);border-bottom:1px solid rgba(40,46,39,.1);backdrop-filter:blur(18px); }
.nav-shell { width:min(1450px, calc(100% - 80px));margin:auto;min-height:84px;display:flex;align-items:center;gap:28px;justify-content:space-between; }
.brand { display:flex;flex-direction:column;flex-shrink:0;line-height:1;gap:8px; }
.brand-head { font-size:26px;letter-spacing:-1.6px;font-weight:750; }
.brand-dot,.footer-logo span { color:var(--warm); }
.brand-sub { font-size:10px;letter-spacing:2.5px;color:var(--ink-soft); }
.desktop-nav { display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600; }
.desktop-nav a:hover,.footer-links a:hover { color:var(--warm); }
.nav-cta { background:var(--forest);color:white;padding:15px 20px;font-size:11px;font-weight:700;letter-spacing:.9px;white-space:nowrap; }
.nav-cta span { margin-left:9px;font-size:15px; }
.menu-button,.mobile-nav { display:none; }
.hero { display:grid;grid-template-columns:1fr 1.01fr;gap:6.5%; min-height:715px;align-items:center;padding-block:70px 92px; }
.hero-copy { padding-top:5px; }
.eyebrow { display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:2px;font-weight:700;color:var(--warm); }
.eyebrow-line { width:35px;height:1px;background:var(--warm); }
.hero h1,.section-header h2,.about-copy h2,.booking-heading h2 { font-family:Georgia,"Iowan Old Style", "Nanum Myeongjo", serif;letter-spacing:-3.3px;font-weight:500; }
.hero h1 { font-size:clamp(58px,5.1vw,87px);line-height:1.21;margin:30px 0 29px;word-break:keep-all; }
.hero h1 em,.section-header h2 em,.about-copy h2 em,.booking-heading h2 em { font-style:normal;color:#ac7b59; }
.hero-lede { font-size:15px;line-height:2.1;color:var(--ink-soft);max-width:440px;word-break:keep-all; }
.hero-actions { display:flex;gap:10px;margin-top:36px;flex-wrap:wrap; }
.btn { border:1px solid var(--forest);min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:12px;font-weight:700;letter-spacing:.1px;transition:background .2s,color .2s,transform .2s; }
.btn:hover { transform:translateY(-2px); }
.btn-solid { background:var(--forest);color:white; }
.btn-solid:hover { background:#18281c; }
.btn-line { background:transparent;color:var(--forest); }
.btn-line:hover { background:#eceee7; }
.hero-meta { display:flex;align-items:center;gap:16px;margin-top:72px;color:#8f9188;font-size:9px;letter-spacing:1.25px;font-weight:650; }
.tiny-flower { color:var(--warm);font-size:15px; }
.hero-visual { position:relative;align-self:stretch;max-height:670px;min-height:560px; }
.hero-image-wrap { width:86%;height:94%;margin-left:13%;overflow:hidden;background:#d8d8cb; }
.hero-image-wrap img { width:100%;height:100%;object-fit:cover;object-position:center 28%; }
.hero-caption {display:flex;justify-content:space-between;margin-left:13%;width:86%;padding-top:13px;color:#99988d;font-size:9px;letter-spacing:1.3px; }
.hero-sticker { position:absolute;left:0;bottom:9%;width:140px;height:140px;transform:rotate(-13deg);background:#e9dfcc;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:Georgia,serif;color:#7f6552;font-style:italic;font-size:20px;line-height:1.04;box-shadow:0 13px 25px rgba(45,35,23,.06); }
.hero-sticker span { margin-top:9px;font-size:20px;font-style:normal; }
.brand-statement { background:#e7e5db;text-align:center;padding:50px 12px; }
.brand-statement p {font-family:Georgia,"Nanum Myeongjo",serif;font-size:clamp(19px,2.1vw,31px);font-weight:400;letter-spacing:-.9px;margin:0 0 14px;}
.brand-statement p em { color:#ad8062;font-style:normal; }
.brand-statement span { font-size:9px;letter-spacing:2.8px;color:#88877d; }
.portfolio-section { padding-block:112px 117px; }
.section-header { display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:46px; }
.eyebrow.small { font-size:10px;margin:0 0 16px; }
.section-header h2,.about-copy h2,.booking-heading h2 { font-size:clamp(36px,3.8vw,58px);line-height:1.3;margin:0; }
.section-aside,.services-heading>p { font-size:13px;line-height:2;color:var(--ink-soft);text-align:right; }
.story-head { display:flex;align-items:center;gap:18px;border-top:1px solid var(--border);padding:19px 0 22px; }
.story-head .story-no {align-self:flex-start;color:#b17852;font-family:Georgia,serif;font-size:27px; }
.story-head h3 { margin:0 0 3px;font-family:Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.5px; }
.story-head p { margin:0;font-size:12px;color:var(--ink-soft); }
.story-count { margin-left:auto;letter-spacing:2px;color:#9c9a8f;font-size:9px;font-weight:700;white-space:nowrap; }
.story-second { margin-top:78px; }
.gallery { display:grid;gap:15px; }
.gallery-first { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gallery-second { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-card { position:relative;display:block;border:0;padding:0;background:#ddd5c7;overflow:hidden;aspect-ratio:3/4; }
.gallery-card.tall { aspect-ratio:3/4.2; }
.gallery-card img {width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s;}
.gallery-card:hover img,.gallery-card:focus-visible img {transform:scale(1.045);filter:brightness(.9);}
.gallery-card:focus-visible { outline:3px solid var(--warm);outline-offset:2px; }
.card-index { position:absolute;bottom:17px;left:17px;color:white;font-size:12px;letter-spacing:1px;text-shadow:0 1px 6px #0009; }
.zoom-mark {display:grid;place-items:center;position:absolute;bottom:12px;right:12px;width:34px;height:34px;background:#f7f5efed;border-radius:50%;font-size:18px;}
.gallery-footnote { font-size:11px;color:#99978c;text-align:right;line-height:1.7;margin-top:21px; }
.services-band { background:var(--forest);color:var(--cream);padding:105px 0 80px; }
.services-heading { margin-bottom:40px; }
.services-heading .eyebrow {color:#c6b098;}
.services-heading h2 em {color:#d0b49a;}
.services-heading>p {color:#c1c9c0;}
.services-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#6a766a;border:1px solid #6a766a;}
.service-card { position:relative;background:var(--forest);min-height:270px;padding:28px 23px 40px; }
.service-card>span {font-size:9px;color:#b6c1b7;letter-spacing:1.5px;}
.service-card h3 { font-size:20px;margin:38px 0 15px;font-weight:600;letter-spacing:-.6px; }
.service-card p {font-size:12px;line-height:1.9;color:#b9c3b7;word-break:keep-all;}
.service-icon {font-family:Georgia,serif;position:absolute;right:22px;bottom:22px;font-size:23px;color:#c0a58e;}
.service-note {display:flex;align-items:center;justify-content:center;gap:25px;color:#aab7a9;font-size:11px;margin-top:30px;}
.service-note strong {font-size:14px;color:#fff;font-weight:500;}
.about-section { display:grid;grid-template-columns:1fr .98fr;gap:11%;padding-block:136px;align-items:center; }
.about-photo { height:600px;overflow:hidden; }
.about-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.about-copy h2 {margin:25px 0 30px;}
.about-copy>p:not(.eyebrow) {max-width:475px;font-size:14px;line-height:2.25;color:var(--ink-soft);word-break:keep-all;}
.inline-link {display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-top:25px;font-weight:700;font-size:12px;letter-spacing:.7px;}
.signature {color:#ba9278;font-family:Georgia,serif;font-style:italic;font-size:42px;transform:rotate(-8deg);margin:50px 0 0 70px;}
.booking-section { background:#eae5db;padding:105px 0 112px; }
.booking-wrap {display:grid;grid-template-columns:.91fr 1fr;gap:12%;align-items:start;}
.booking-heading h2 {margin:30px 0 22px;}
.booking-heading>p:not(.eyebrow) {font-size:14px;line-height:2.1;color:var(--ink-soft);max-width:460px;word-break:keep-all;}
.booking-details {border-top:1px solid #c9c5ba;display:grid;grid-template-columns:90px 1fr;gap:20px;margin-top:45px;padding-top:28px;font-size:12px;align-items:center;}
.booking-details span {color:#89867c;}
.booking-details strong {font-weight:650;}
.booking-details a {text-decoration:underline;text-underline-offset:4px;}
.booking-form-wrap {background:#fff;padding:37px 38px 35px;box-shadow:0 10px 60px rgba(59,51,37,.04);}
.form-top {display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e9e6df;}
.form-top span {letter-spacing:1.8px;font-size:9px;color:var(--warm);font-weight:700;}
.form-top h3 {margin:9px 0 0;font-size:22px;font-weight:600;}
.form-mark {font-size:24px!important;color:#c2bcaf!important;}
#bookingForm label {display:block;font-weight:650;font-size:12px;margin:19px 0 9px;}
#bookingForm label span {font-size:10px;color:#a9a69e;font-weight:400;margin-left:8px;}
#bookingForm input,#bookingForm select,#bookingForm textarea {border:1px solid #dedbd3;border-radius:0;background:#fff;width:100%;min-height:46px;padding:12px;color:#2b332b;font-size:13px;outline-offset:2px;}
#bookingForm textarea {resize:vertical;}
#bookingForm ::placeholder {color:#aaa8a1;}
.form-two {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.submit-btn {width:100%;margin-top:25px;}
.form-privacy {font-size:10px;color:#888981;line-height:1.85;margin:14px 0 0;}
.booking-result {margin-top:30px;border-top:1px solid #e6e4dc;padding-top:24px;}
.result-title {font-weight:700;font-size:14px;margin:0 0 15px;}
.booking-result pre {background:#f3f2ee;padding:15px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.7;}
.booking-result .btn {width:100%;margin-top:10px;}
.copy-status {font-size:12px;color:#4d7351;min-height:18px;}
.site-footer {padding:62px 0 28px;background:#252c26;color:#ecece2;}
.footer-inner {display:flex;justify-content:space-between;gap:30px;}
.footer-logo {font-size:34px;letter-spacing:-1.3px;font-weight:750;}
.footer-inner p {color:#b3bbb2;font-size:12px;margin-top:8px;}
.footer-links {display:flex;gap:25px;align-items:start;flex-wrap:wrap;font-size:10px;letter-spacing:1px;}
.footer-bottom {border-top:1px solid #586257;margin-top:55px;padding-top:23px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#9eaa9e;letter-spacing:.7px;}
.floating-book {display:none;}
.lightbox[hidden],.booking-result[hidden],.mobile-nav[hidden] {display:none!important;}
.lightbox {position:fixed;inset:0;background:rgba(13,16,13,.96);z-index:200;display:flex;justify-content:center;align-items:center;}
.lightbox figure {max-width:min(800px,83vw);height:90vh;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.lightbox figure img {max-height:calc(90vh - 45px);max-width:100%;object-fit:contain;}
.lightbox figcaption {color:#eaeae5;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;letter-spacing:1px;margin-top:13px;width:100%;}
.lightbox button {border:0;color:white;background:transparent;position:absolute;display:grid;place-items:center;}
.lightbox button:hover {color:#e8c09e;}
.lightbox-close {right:32px;top:16px;font-size:36px;width:50px;height:50px;}
.lightbox-prev,.lightbox-next {font-size:28px;top:47%;width:60px;height:60px;}
.lightbox-prev {left:20px;}.lightbox-next {right:20px;}
@media(max-width:1120px) { .desktop-nav{gap:17px;}.nav-shell{width:calc(100% - 44px)}.wrap{width:calc(100% - 66px)}.hero{gap:3%;min-height:650px}.hero h1{font-size:clamp(52px,5.4vw,70px)}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:220px}.booking-wrap{gap:6%;} }
@media(max-width:780px) {
 .wrap {width:calc(100% - 38px);} .nav-shell {width:calc(100% - 38px);min-height:68px;} .brand-head{font-size:22px}.brand-sub{font-size:8px;letter-spacing:1.7px}.desktop-nav,.nav-cta {display:none}.menu-button{display:flex;width:40px;height:38px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:none;border:0}.menu-button span{height:1px;width:23px;background:var(--ink)}.mobile-nav{display:flex;flex-direction:column;padding:5px 20px 20px;gap:0;background:var(--cream)}.mobile-nav a{padding:15px 3px;border-bottom:1px solid var(--border);font-size:14px;}
 .hero {display:flex;flex-direction:column;gap:40px;min-height:unset;padding-block:65px 50px;align-items:stretch}.hero-copy{order:1}.hero-visual{order:2;max-height:none;min-height:unset;height:540px}.hero-image-wrap{width:85%;height:95%;margin-left:15%}.hero h1{font-size:clamp(53px,10vw,70px);line-height:1.21;margin:23px 0}.hero-lede{font-size:14px}.hero-meta{margin-top:32px;gap:9px;font-size:8px;flex-wrap:wrap}.hero-sticker{width:108px;height:108px;font-size:15px;left:0;bottom:5%}.brand-statement{padding:38px 20px}.brand-statement p{font-size:22px}
 .portfolio-section{padding:75px 0}.section-header{display:block;margin-bottom:31px}.section-header h2,.about-copy h2,.booking-heading h2{font-size:40px}.section-aside,.services-heading>p{text-align:left;margin-top:20px;font-size:12px}.story-head h3{font-size:18px}.story-count{font-size:8px}.gallery{gap:9px}.gallery-first{grid-template-columns:repeat(2,1fr)}.gallery-second{grid-template-columns:repeat(2,1fr)}.gallery-card,.gallery-card.tall{aspect-ratio:3/4.3}.story-second{margin-top:53px}.gallery-footnote{text-align:left;font-size:10px}
 .services-band{padding:76px 0}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:200px;padding:22px 16px 35px}.service-card h3{font-size:16px;margin:28px 0 10px}.service-card p{font-size:11px}.service-note{gap:13px;flex-wrap:wrap;justify-content:start;font-size:10px}
 .about-section{grid-template-columns:1fr;gap:40px;padding-block:75px}.about-photo{height:440px}.about-copy h2{margin:16px 0}.about-copy>p:not(.eyebrow){font-size:13px}.signature{margin:30px 0 0 15px}
 .booking-section{padding:75px 0}.booking-wrap{grid-template-columns:1fr;gap:45px}.booking-heading h2{margin:19px 0}.booking-heading>p:not(.eyebrow){font-size:13px}.booking-details{margin-top:27px}.booking-form-wrap{padding:26px 20px}.form-two{grid-template-columns:1fr}
 .footer-inner{display:block}.footer-links{margin-top:35px;gap:17px;line-height:2}.footer-bottom{display:block;line-height:2;margin-top:39px}.footer-bottom span{display:block}.floating-book{display:block;position:fixed;z-index:19;right:15px;bottom:15px;background:var(--forest);color:white;padding:15px 19px;box-shadow:0 5px 25px rgba(0,0,0,.2);font-size:12px;font-weight:700}.floating-book span{margin-left:10px}
 .lightbox figure{max-width:calc(100vw - 44px);height:86vh}.lightbox figure img{max-height:calc(83vh - 50px)}.lightbox-close{top:3px;right:3px}.lightbox-prev,.lightbox-next{top:auto;bottom:14px;background:#ffffff18!important;width:46px;height:42px}.lightbox-prev{left:18px}.lightbox-next{right:18px}
}
@media (prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important} }


/* v2 - Full-photo gallery: preserve the uploaded photo pixels and original aspect ratios.
   No fixed thumbnail crop, letterbox, artificial black padding or zoom-cropping. */
.gallery-first, .gallery-second {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 20px;
  row-gap: 24px;
}
.gallery-card, .gallery-card.tall {
  aspect-ratio: auto;
  height: auto;
  width: 100%;
  align-self: start;
  background: transparent;
  overflow: visible;
}
.gallery-card img, .gallery-card.tall img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
  transform: none;
}
.gallery-card:hover img, .gallery-card:focus-visible img {
  transform: none;
  filter: brightness(.95);
}
/* Modal: allow all of the image to fit inside the viewport. */
.lightbox figure img {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(90dvh - 78px);
  object-fit:contain;
}
@media(max-width:780px) {
  .gallery-first, .gallery-second { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
}
@media(max-width:580px) {
  .gallery-first, .gallery-second {grid-template-columns: minmax(0,1fr);gap:24px;}
  .lightbox figure img {max-height:calc(84dvh - 78px);}
  .card-index {bottom:14px;left:14px;}
}

/* Deoksugung Travel Snap album, full image ratio, no clipping. */
.travel-section{padding-top:44px;padding-bottom:135px;scroll-margin-top:90px}
.travel-heading{margin-bottom:40px}
.travel-summary{display:flex;align-items:center;gap:25px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.travel-summary h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 6px}
.travel-summary p{color:var(--ink-soft);font-size:12px;margin:0}
.travel-summary .story-count{margin-left:auto}
.travel-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.travel-gallery .gallery-card{width:100%;height:auto;aspect-ratio:auto;overflow:visible;background:transparent}
.travel-gallery .gallery-card img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.travel-gallery .gallery-card:hover img{filter:brightness(.96);transform:none}
.travel-gallery .travel-card.missing{pointer-events:none;border:1px solid var(--border);background:#eee9df;aspect-ratio:2/3}
.travel-gallery .travel-card.missing img{display:none}
.travel-gallery .travel-card.missing .travel-placeholder{display:flex}
.travel-placeholder{display:none;align-items:center;justify-content:center;flex-direction:column;gap:9px;min-height:150px;font-size:14px;line-height:1.8;color:#767669;text-align:center}
.travel-placeholder small{font-size:12px;color:#a9a399}
.travel-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:30px;border-top:1px solid var(--border)}
.travel-cta>span{font-size:11px;letter-spacing:1.6px;color:var(--ink-soft)}
.service-story-link{position:relative;z-index:2;display:inline-block;margin-top:23px;padding-bottom:5px;border-bottom:1px solid #9cafa1;color:#fff;font-size:12px;letter-spacing:.2px}
@media(max-width:780px){.travel-section{padding-top:15px;padding-bottom:85px}.travel-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.travel-summary h3{font-size:19px}.travel-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.travel-gallery{grid-template-columns:minmax(0,1fr);gap:24px}.travel-summary{gap:12px}.travel-summary .story-count{font-size:8px}}

/* v4: main-page representative / founder introduction. No representative image implied. */
.representative-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,106px);align-items:center;padding-top:115px;padding-bottom:115px}
.representative-identity{background:#344439;min-height:600px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#f1eee5;padding:40px 38px 34px;isolation:isolate}
.representative-identity:before{content:"";position:absolute;inset:25px;border:1px solid rgba(241,238,229,.22);pointer-events:none;z-index:-1}
.representative-identity:after{content:"";position:absolute;right:-165px;bottom:40px;width:420px;height:420px;border:1px solid #c4ae8840;border-radius:50%;pointer-events:none;z-index:-1;box-shadow:0 0 0 85px #b5a17d0c,0 0 0 170px #b5a17d09}
.identity-kicker{font-size:10px;letter-spacing:1.6px;opacity:.73;padding-left:8px;line-height:1.5}
.identity-mark{align-self:center;margin-top:25px;font:normal 270px/.9 Georgia,serif;letter-spacing:-25px;text-shadow:0 14px 90px #162a20a8;color:#e3d9c8}
.identity-mark span{color:#ca9b77}
.identity-bottom{display:grid;gap:13px;text-align:center;margin-top:auto}
.identity-name{font:normal 22px/1.3 Georgia,serif;letter-spacing:4.5px}
.identity-rule{width:58px;height:1px;background:#b7a08d;margin:0 auto}
.identity-role{font-size:9px;letter-spacing:2.2px;opacity:.72}
.identity-motto{position:absolute;right:28px;top:42%;writing-mode:vertical-rl;font:italic 13px Georgia,serif;color:#d8bda5a8;letter-spacing:1px}
.representative-copy h2{font-family:Georgia,"Nanum Myeongjo",serif;letter-spacing:-2.2px;font-weight:500;font-size:clamp(35px,3.55vw,59px);line-height:1.41;margin:24px 0 28px;word-break:keep-all}
.representative-copy h2 em{font-style:normal;color:#b17d5d}
.representative-copy>p:not(.eyebrow){font-size:14px;line-height:2.1;color:var(--ink-soft);word-break:keep-all;max-width:540px;margin:18px 0}
.representative-copy>p.representative-lede{color:var(--ink);font-weight:600;font-size:15px;line-height:1.95;margin:0 0 22px}
.representative-facts{border-top:1px solid var(--border);margin-top:31px;padding-top:12px;display:grid;gap:0}
.representative-facts>div{display:grid;grid-template-columns:87px 1fr;align-items:center;padding:12px 0;border-bottom:1px solid #e4e1d7;gap:10px}
.representative-facts span{font-size:11px;color:#888980}
.representative-facts strong{font-size:12px;font-weight:600;letter-spacing:-.2px}
.representative-actions{display:flex;align-items:center;gap:22px;margin-top:33px;flex-wrap:wrap}
.representative-instagram{font-size:11px;letter-spacing:.5px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px;white-space:nowrap}
@media(max-width:1120px){.representative-section{gap:42px}.representative-identity{min-height:535px}.identity-mark{font-size:215px}.representative-copy h2{font-size:45px}}
@media(max-width:780px){.representative-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:80px;gap:38px}.representative-identity{min-height:445px;padding:32px}.identity-mark{font-size:200px}.representative-copy h2{font-size:clamp(36px,8.2vw,49px);line-height:1.38}.representative-copy>p:not(.eyebrow){font-size:13px}.representative-copy>p.representative-lede{font-size:14px}.representative-actions{gap:20px}}
@media(max-width:460px){.representative-identity{min-height:395px;padding:26px}.representative-identity:before{inset:18px}.identity-kicker{font-size:8px}.identity-mark{font-size:168px}.identity-name{font-size:18px}.identity-role{font-size:8px}.representative-facts>div{grid-template-columns:70px 1fr}.representative-facts strong{font-size:11px}}

/* v5: Representative portrait is a byte-for-byte original photo; never crop the image. */
.representative-portrait{margin:0; width:100%; max-width:520px; justify-self:center; min-width:0}
.representative-portrait-frame{background:#020202; border:1px solid #2d302d; overflow:hidden; box-shadow:0 22px 58px rgba(34,33,25,.09)}
.representative-portrait-frame img{width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;display:block;aspect-ratio:auto}
.representative-portrait figcaption{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:16px;border-bottom:1px solid var(--border);padding-bottom:14px;color:#777971;font-size:10px;letter-spacing:1.5px;line-height:1.7}
.representative-portrait figcaption span:first-child{font-size:12px;font-weight:700;color:#454942;letter-spacing:2.3px;white-space:nowrap}
.representative-portrait figcaption span:last-child{text-align:right;letter-spacing:1.3px}
@media(max-width:780px){.representative-portrait{max-width:430px}.representative-section{gap:46px}}
@media(max-width:460px){.representative-portrait{max-width:100%}.representative-portrait figcaption{font-size:8px}.representative-portrait figcaption span:first-child{font-size:10px}}

/* v5.2 — Deoksugung travel gallery: one identical 1365:2048 frame for ALL 6 photos.
   The card, not the image, owns the fixed ratio. All original pixels preserved.
   Image 06 is narrower, so the card naturally shows cream side gutters. */
.travel-gallery .travel-card {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1365 / 2048;
  padding: 0;
  overflow: hidden;
  background: #eee9df;
}
.travel-gallery .travel-card img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
  transform: none;
}


/* v5.4 — STUDIO SNAP: rental-studio photography introduction (no stock/client images). */
.studio-section{background:#eeeae1;padding:110px 0 116px;scroll-margin-top:90px}
.studio-heading{margin-bottom:42px}
.studio-content{display:grid;grid-template-columns:.97fr 1fr;gap:7%;align-items:stretch}
.studio-art{background:linear-gradient(155deg,#d9cbb9 0%,#c5c0ad 48%,#aab3a3 100%);border:12px solid #f7f5ef;box-shadow:0 20px 54px rgba(50,47,38,.09);min-height:540px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}
.studio-art:before{content:"";position:absolute;inset:16% 20% 14% 18%;border:1px solid rgba(255,255,255,.6);pointer-events:none}
.studio-art:after{content:"";position:absolute;width:52%;height:118%;top:-24%;right:-9%;background:rgba(255,255,255,.16);transform:rotate(17deg);pointer-events:none}
.studio-art-top,.studio-art-bottom{position:relative;z-index:1;letter-spacing:2px;color:#445044;font-size:10px;font-weight:700}
.studio-art-bottom{letter-spacing:1.3px;font-size:9px}
.studio-art-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:#384337}
.studio-art-center strong{font-family:Georgia,'Nanum Myeongjo',serif;font-weight:400;font-size:clamp(58px,6vw,92px);letter-spacing:-5px;line-height:.95}
.studio-art-center span:last-child{font-size:9px;letter-spacing:2px;font-weight:700;margin-top:14px}
.studio-art-sign{font-size:38px;color:#f5eee3}
.studio-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:22px 0}
.studio-kicker{font-size:10px;letter-spacing:2.4px;color:var(--warm);font-weight:800;margin:0 0 22px}
.studio-details h3{font-family:Georgia,'Nanum Myeongjo',serif;font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.45;letter-spacing:-2px;margin:0 0 23px;word-break:keep-all}
.studio-description{color:var(--ink-soft);font-size:14px;line-height:2.05;word-break:keep-all;margin:0 0 24px}
.studio-facts{width:100%;border-top:1px solid #ccc8bc;margin-top:4px}
.studio-facts>div{display:grid;grid-template-columns:98px 1fr;gap:12px;border-bottom:1px solid #ccc8bc;padding:15px 0;font-size:12px;line-height:1.65}
.studio-facts span{color:#787971}
.studio-facts strong{font-weight:650}
.studio-notice{font-size:11px;color:#787a71;line-height:1.85;margin:18px 0 22px;word-break:keep-all}
.studio-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.studio-actions>span{color:#8f9188;letter-spacing:1.4px;font-size:9px}
/* Six service cards display as three columns, two balanced rows on desktop. */
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px) and (min-width:781px){
  .desktop-nav,.nav-cta{display:none}
  .menu-button{display:flex;width:40px;height:38px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:none;border:0}
  .menu-button span{height:1px;width:23px;background:var(--ink)}
  .mobile-nav{display:flex;flex-direction:column;padding:5px 24px 20px;background:var(--cream)}
  .mobile-nav a{padding:15px 3px;border-bottom:1px solid var(--border);font-size:14px}
}
@media(max-width:780px){
  .studio-section{padding:76px 0 83px}
  .studio-content{grid-template-columns:1fr;gap:30px}
  .studio-art{min-height:430px;max-width:520px;width:100%;margin-inline:auto}
  .studio-details{padding:0}
  .studio-details h3{font-size:clamp(29px,6.7vw,40px)}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .studio-art{min-height:340px;padding:21px;border-width:8px}
  .studio-art-center strong{font-size:58px}
  .studio-art-top,.studio-art-bottom{font-size:8px}
  .studio-facts>div{grid-template-columns:78px 1fr;gap:9px;font-size:11px}
}
