:root{--bg:#f7f4ef;--paper:#fffcf8;--ink:#2e2926;--soft:#6d6760;--muted:#9a938b;--line:#ddd7d0;--accent:#a46d58;--sand:#e6ddd2;--display:'Playfair Display','Noto Sans SC','Noto Sans JP','Noto Sans KR',Georgia,serif;--body:'DM Sans','Noto Sans SC','Noto Sans JP','Noto Sans KR',Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{background:#d8bcaa;color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:400;top:-50px;left:20px;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:10px}.site-header{height:92px;padding:0 clamp(25px,4.8vw,92px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(56,48,42,.1);background:var(--bg);position:relative;z-index:30}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{font-family:Georgia,serif;font-size:29px;line-height:1;letter-spacing:-4px;font-weight:600}.brand-mark span,.footer-brand span{color:var(--accent)}.brand-type{display:flex;flex-direction:column;gap:2px}.brand-type strong{font-size:11px;letter-spacing:.185em;font-weight:700}.brand-type small{font-size:8px;letter-spacing:.32em;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px)}.main-nav a{font-size:12px;font-weight:600;position:relative}.main-nav a::after{content:'';height:1px;position:absolute;bottom:-7px;left:0;width:0;background:var(--accent);transition:width .25s}.main-nav a:hover::after{width:100%}.header-actions{display:flex;align-items:center;gap:20px}.lang-control{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:100px}.lang-btn{border:0;background:transparent;border-radius:100px;min-width:31px;height:29px;padding:0 5px;font-size:10px;font-weight:700;color:var(--soft);transition:background .2s,color .2s}.lang-btn.active{background:var(--ink);color:#fff}.header-book{font-size:11px;letter-spacing:.03em;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}.header-book span{margin-left:6px;color:var(--accent)}.menu-toggle{display:none;width:33px;height:34px;padding:8px 2px;background:transparent;border:0}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.hero{min-height:710px;display:grid;grid-template-columns:47% 53%;overflow:hidden}.hero-copy{padding:clamp(60px,8vw,134px) 7.1% 26px clamp(26px,7.7vw,142px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hero-eyebrow,.kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--accent)}.eyebrow-line{height:1px;width:29px;background:var(--accent)}.hero h1{font-family:var(--display);font-weight:400;letter-spacing:-.066em;line-height:1.14;font-size:clamp(55px,5.6vw,108px);margin:36px 0 26px;max-width:700px}.hero h1 em,.section h2 em,.about-copy h2 em,.contact-section h2 em{color:var(--accent);font-weight:400}.hero-description{font-size:14px;line-height:2;color:var(--soft);max-width:430px;margin:0}.hero-ctas{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin:36px 0 0}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:31px;border:0;padding:17px 20px;min-height:52px;font-size:12px;font-weight:700;transition:transform .25s,background .25s}.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#544640}.btn span:last-child{font-size:17px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;font-weight:700;border-bottom:1px solid var(--accent);padding:8px 0}.text-link span:last-child{font-size:17px;color:var(--accent)}.hero-footer{margin-top:auto;display:flex;align-items:center;gap:17px;padding-top:50px;color:#918981;font-size:9px;letter-spacing:.11em;font-weight:700}.mini-divider{width:33px;height:1px;background:var(--accent)}.hero-number{color:var(--ink)}.hero-visual{position:relative;min-height:710px;padding:25px 26px 25px 0;background:#c0a99a}.hero-photo{position:absolute;inset:0;background-color:#c8b1a4;background-size:cover;background-position:50% 38%;background-image:linear-gradient(180deg,rgba(24,17,13,.02),rgba(24,17,13,.15)),url('https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=1500&q=86')}.hero-vertical{position:absolute;right:17px;top:50px;writing-mode:vertical-rl;letter-spacing:.31em;font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 8px #43332d}.photo-annotation{position:absolute;bottom:26px;left:26px;right:48px;color:#fff;display:flex;justify-content:space-between;align-items:end;font-size:10px;letter-spacing:.14em;text-shadow:0 1px 4px #43332d}.annotation-cross{font-size:37px}.sample-tag{position:absolute;top:22px;left:22px;z-index:1;color:#fff;background:rgba(39,34,30,.64);font-size:9px;letter-spacing:.15em;padding:9px 12px}.intro-strip{display:flex;justify-content:center;align-items:center;gap:clamp(14px,3vw,50px);padding:22px 15px;border-block:1px solid var(--line);color:#857c72;font-size:10px;letter-spacing:.17em;font-weight:700;flex-wrap:wrap}.intro-strip>span:first-child,.intro-strip>span:last-child{font-size:20px;color:var(--accent)}.dot{height:4px;width:4px;border-radius:50%;background:var(--accent)}.section{padding:120px clamp(28px,7.7vw,146px)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:44px}.kicker{margin:0 0 21px}.kicker span:first-child{color:#b39b8d}.section h2,.about-copy h2,.contact-section h2{font-family:var(--display);font-size:clamp(43px,5vw,80px);font-weight:400;line-height:1.19;letter-spacing:-.045em;margin:0}.section-intro{color:var(--soft);font-size:13px;line-height:1.9;max-width:275px;margin:0 0 7px}.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;border-bottom:1px solid var(--line);padding-bottom:20px}.filter-buttons{display:flex;flex-wrap:wrap;gap:11px 28px}.filter-btn{border:0;background:transparent;padding:5px 0;font-size:11px;font-weight:700;color:var(--muted);position:relative}.filter-btn.active{color:var(--ink)}.filter-btn.active:after{content:'';position:absolute;bottom:-22px;left:0;right:0;height:2px;background:var(--accent)}.portfolio-count{font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:23px}.portfolio-item{grid-column:span 4;min-width:0;cursor:pointer;border:0;padding:0;text-align:left;background:transparent;color:var(--ink)}.portfolio-item.wide{grid-column:span 8}.photo-wrap{position:relative;display:block;overflow:hidden;background:linear-gradient(145deg,#d6c2b5,#a59180);height:clamp(250px,28vw,475px)}.portfolio-item.wide .photo-wrap{height:clamp(290px,34vw,540px)}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s var(--ease)}.portfolio-item:hover img{transform:scale(1.055)}.portfolio-item .sample-watermark{position:absolute;top:11px;left:11px;padding:6px 8px;color:#fff;background:rgba(36,29,25,.55);font-size:8px;letter-spacing:.07em}.portfolio-item .photo-plus{position:absolute;bottom:16px;right:18px;width:36px;height:36px;display:grid;place-items:center;background:#f7f4ef;color:var(--ink);font-size:21px;border-radius:50%;opacity:0;transform:translateY(6px);transition:.3s}.portfolio-item:hover .photo-plus,.portfolio-item:focus-visible .photo-plus{opacity:1;transform:translateY(0)}.photo-meta{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-top:15px}.photo-meta strong{font-family:var(--display);font-size:19px;font-weight:500}.photo-meta span{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--accent);white-space:nowrap;margin-top:7px}.sample-disclaimer{font-size:10px;color:#837c74;margin:34px 0 0;line-height:1.8}.sample-disclaimer>a{text-decoration:underline;text-underline-offset:3px}.sample-disclaimer>span:first-child{padding-right:7px}.statement-section{background:var(--sand);text-align:center;padding:85px 22px 92px}.statement-leaf{font-size:30px;color:var(--accent)}.statement-section p{font-family:var(--display);font-size:clamp(25px,3.25vw,47px);max-width:800px;margin:20px auto 27px;line-height:1.5;letter-spacing:-.023em}.statement-section>span{font-size:9px;font-weight:700;letter-spacing:.24em;color:var(--accent)}.services-section{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:29px clamp(17px,2vw,33px) 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:302px;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.service-card:hover{background:#f7f0e8}.service-number{font-size:10px;color:var(--accent);letter-spacing:.13em}.service-icon{font-family:var(--display);font-size:50px;color:var(--accent);line-height:1.2;margin:24px 0 23px}.service-card h3{font-family:var(--display);font-size:25px;font-weight:400;margin:0 0 13px}.service-card p{font-size:12px;color:var(--soft);line-height:1.75;margin:0 0 22px}.service-card button{margin-top:auto;background:none;border:0;border-bottom:1px solid var(--accent);padding:6px 0;font-weight:700;font-size:11px}.service-card button span{margin-left:14px;color:var(--accent)}.about-section{display:grid;grid-template-columns:44% 56%;min-height:680px}.about-visual{background:#897568;position:relative;min-height:570px;display:grid;place-items:center;overflow:hidden;background-image:radial-gradient(circle at 64% 42%,rgba(255,255,255,.2),transparent 27%),linear-gradient(130deg,#b8a494 0%,#8c796c 48%,#5f524b 100%)}.about-visual:before,.about-visual:after{content:'';position:absolute;inset:9%;border:1px solid rgba(255,255,255,.18)}.about-visual:after{inset:15%;border-radius:50%;border-color:rgba(255,255,255,.12)}.about-circle{position:relative;z-index:2;color:#faf6f0;font-family:var(--display);font-size:clamp(128px,17vw,270px);letter-spacing:-.1em;line-height:1}.about-circle>span{font-size:.44em;vertical-align:top;letter-spacing:0}.about-circle small{display:block;font-family:var(--body);font-weight:700;letter-spacing:.24em;font-size:10px;text-align:center;margin-top:20px}.about-corner{position:absolute;bottom:28px;left:38px;color:#eae0d6;font-size:10px;letter-spacing:.1em}.about-corner span{padding-left:11px}.about-copy{padding:100px clamp(35px,7.7vw,145px) 85px clamp(34px,6.7vw,114px);display:flex;flex-direction:column;justify-content:center}.about-copy h2{margin-bottom:26px}.about-copy>p:not(.kicker){font-size:13px;color:var(--soft);line-height:1.95;margin:0 0 18px;max-width:520px}.about-copy .about-lead{font-weight:700;color:var(--ink)!important;font-size:15px!important}.language-note{display:flex;gap:13px;align-items:start;margin-top:15px;padding-top:23px;border-top:1px solid var(--line)}.language-note>span{color:var(--accent);font-size:23px}.language-note div{display:flex;flex-direction:column;gap:7px}.language-note strong{font-size:12px}.language-note div span{font-size:12px;color:var(--soft)}.about-link{margin-top:27px;align-self:flex-start}.experience-section{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.experience-section>div{background:var(--bg);padding:40px clamp(25px,5vw,87px) 45px}.experience-index{display:block;color:var(--accent);font-size:10px;letter-spacing:.1em;margin-bottom:22px}.experience-section>div>span:nth-child(2){display:block;font-family:var(--display);font-size:24px;margin-bottom:12px}.experience-section p{font-size:12px;line-height:1.8;color:var(--soft);margin:0}.contact-section{background:#e9e1d7;padding:118px clamp(28px,7.7vw,146px) 128px}.contact-top{display:grid;grid-template-columns:1fr minmax(340px,480px);gap:clamp(40px,7vw,115px);align-items:start}.contact-section h2{font-size:clamp(45px,5.5vw,85px)}.contact-lead{color:#6c645d;font-size:14px;line-height:1.9;max-width:465px;margin:28px 0 40px}.contact-methods{display:flex;flex-direction:column;max-width:450px}.contact-methods a{border-top:1px solid #cec2b6;display:flex;gap:16px;align-items:center;padding:19px 0;transition:padding-left .25s}.contact-methods a:hover{padding-left:8px}.contact-methods a:last-child{border-bottom:1px solid #cec2b6}.method-icon{height:37px;width:37px;border:1px solid #9d8f82;display:grid;place-items:center;border-radius:50%;color:var(--accent)}.contact-methods a>span:last-child{display:flex;flex-direction:column;gap:5px}.contact-methods small{font-size:9px;letter-spacing:.18em;color:#8e8178}.contact-methods strong{font-size:17px;font-weight:600}.based{display:flex;align-items:center;gap:10px;margin-top:34px;color:#6c645d;font-size:11px}.based-marker{color:var(--accent);font-size:21px}.inquiry-card{background:var(--paper);padding:42px clamp(23px,3.5vw,52px);box-shadow:0 19px 60px rgba(55,40,25,.05)}.form-overline{font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--accent);margin:0 0 9px}.inquiry-card h3{font-family:var(--display);font-weight:400;font-size:35px;line-height:1.3;letter-spacing:-.035em;margin:0 0 22px}.form-group{display:flex;flex-direction:column;gap:8px;margin-top:17px}.form-group label{font-size:11px;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:1px solid #ded5ce;background:#fffdfb;border-radius:0;width:100%;padding:13px 12px;color:var(--ink);outline:none;font-size:12px;min-width:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:90px}.form-group input::placeholder,.form-group textarea::placeholder{color:#a59c93}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-primary{width:100%;margin-top:23px}.copy-btn{margin:15px auto 0;display:block;background:transparent;border:0;border-bottom:1px solid var(--accent);color:var(--ink);font-size:11px;font-weight:700;padding:5px}.copy-btn span{color:var(--accent);padding-left:8px}.form-note{font-size:10px;color:#857b71;line-height:1.65;margin:18px 0 0}.site-footer{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px;padding:40px clamp(28px,7.7vw,146px) 28px;background:var(--ink);color:#f2e9df}.footer-brand{font-family:Georgia,serif;font-size:29px;white-space:nowrap}.footer-brand small{font-family:var(--body);font-size:9px;letter-spacing:.2em;vertical-align:middle;margin-left:10px}.footer-middle{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,28px);font-size:9px;letter-spacing:.13em;color:#c2b8ae;flex-wrap:wrap}.back-top{text-align:right;font-size:9px;letter-spacing:.13em}.copyright{grid-column:1/-1;text-align:center;border-top:1px solid #4e4641;color:#9e958c;margin:15px 0 0;padding-top:23px;font-size:10px}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(25,21,18,.96);display:none;align-items:center;justify-content:center;color:#fff;padding:50px 66px}.lightbox.is-open{display:flex}.lightbox figure{display:flex;flex-direction:column;align-items:center;gap:13px;max-width:min(100%,1080px);height:100%;margin:0;min-width:0}.lightbox figure img{display:block;max-height:calc(100% - 60px);max-width:100%;object-fit:contain}.lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;font-size:12px}.lightbox figcaption small{font-size:9px;letter-spacing:.14em;color:#c2b0a1}.lightbox button{position:absolute;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.36);border-radius:100px;height:42px;width:42px;font-size:20px;display:grid;place-items:center}.lightbox-close{right:24px;top:20px}.lightbox-prev{left:18px;top:50%}.lightbox-next{right:18px;top:50%}[lang=zh] .hero h1,[lang=ja] .hero h1,[lang=ko] .hero h1{letter-spacing:-.065em;line-height:1.28;font-size:clamp(44px,4.3vw,78px)}[lang=zh] .section h2,[lang=ja] .section h2,[lang=ko] .section h2,[lang=zh] .about-copy h2,[lang=ja] .about-copy h2,[lang=ko] .about-copy h2,[lang=zh] .contact-section h2,[lang=ja] .contact-section h2,[lang=ko] .contact-section h2{font-size:clamp(42px,4.4vw,70px);line-height:1.35}
@media(max-width:1180px){.site-header{padding-inline:3.6vw}.main-nav{gap:16px}.header-actions{gap:10px}.hero-copy{padding-left:6vw}.hero h1{font-size:clamp(52px,5.5vw,80px)}.hero{min-height:620px}.hero-visual{min-height:620px}.section{padding-inline:5.5vw}.contact-section{padding-inline:5.5vw}.about-copy{padding-inline:5vw}.site-footer{padding-inline:5vw}}
@media(max-width:950px){.site-header{height:78px}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:26px 35px 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;box-shadow:0 18px 28px rgba(0,0,0,.06)}.main-nav.open{display:flex}.menu-toggle{display:block}.header-book{display:none}.hero{grid-template-columns:50% 50%;min-height:595px}.hero-visual{min-height:595px}.hero-copy{padding-top:75px}.hero h1{font-size:clamp(49px,6vw,70px)}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-top{grid-template-columns:1fr 1fr;gap:35px}.about-section{grid-template-columns:44% 56%}.about-copy{padding-block:70px}.about-visual{min-height:660px}}
@media(max-width:700px){.site-header{height:72px;padding-inline:21px}.brand-type strong{font-size:9px}.brand-type small{font-size:7px}.brand-mark{font-size:26px}.header-actions{gap:14px}.lang-btn{min-width:28px;height:28px}.main-nav{top:72px}.hero{display:flex;flex-direction:column-reverse}.hero-visual{min-height:460px}.hero-photo{background-position:center 37%}.hero-vertical{font-size:8px}.hero-copy{padding:48px 26px 26px}.hero h1{font-size:clamp(52px,10vw,76px);margin:24px 0}.hero-description{font-size:13px}.hero-ctas{margin-top:26px;gap:24px}.hero-footer{padding-top:50px;font-size:8px}.intro-strip{gap:13px;padding:19px}.intro-strip span{font-size:8px}.intro-strip>span:first-child,.intro-strip>span:last-child{display:none}.section{padding:75px 24px}.section-heading{display:block}.section-heading .section-intro{margin-top:22px;max-width:420px}.section h2,.about-copy h2,.contact-section h2{font-size:clamp(46px,8.5vw,65px)}.filter-buttons{gap:14px}.filter-btn{font-size:10px}.filter-btn.active:after{bottom:-21px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.portfolio-item,.portfolio-item.wide{grid-column:span 1}.portfolio-item:first-child,.portfolio-item:nth-child(6){grid-column:span 2}.portfolio-item .photo-wrap,.portfolio-item.wide .photo-wrap{height:260px}.portfolio-item:first-child .photo-wrap,.portfolio-item:nth-child(6) .photo-wrap{height:400px}.photo-meta{display:block}.photo-meta strong{display:block;font-size:17px}.photo-meta span{display:block;font-size:9px;margin-top:4px}.portfolio-toolbar{align-items:start;flex-direction:column;padding-bottom:15px}.portfolio-count{align-self:flex-end}.statement-section{padding:73px 24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:23px 19px;min-height:315px}.service-card h3{font-size:21px}.service-card p{font-size:11px}.about-section{grid-template-columns:1fr}.about-visual{min-height:395px}.about-circle{font-size:150px}.about-copy{padding:75px 26px}.experience-section{grid-template-columns:1fr}.experience-section>div{padding:29px}.experience-index{margin-bottom:11px}.contact-section{padding:76px 24px}.contact-top{grid-template-columns:1fr}.inquiry-card{max-width:560px;margin-top:12px}.site-footer{grid-template-columns:1fr 1fr;padding:40px 24px 25px}.footer-middle{grid-column:1/-1;grid-row:2;justify-content:flex-start}.back-top{grid-column:2;grid-row:1}.copyright{grid-row:3}.lightbox{padding:65px 12px}.lightbox button{height:38px;width:38px;background:rgba(0,0,0,.35)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:13px;right:12px}}
@media(max-width:390px){.brand-type{display:none}.lang-btn{min-width:27px}.hero h1{font-size:49px}.filter-buttons{gap:12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.form-two{grid-template-columns:1fr}.portfolio-item .photo-wrap,.portfolio-item.wide .photo-wrap{height:200px}.portfolio-item:first-child .photo-wrap,.portfolio-item:nth-child(6) .photo-wrap{height:300px}.intro-strip .dot{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Social links and real portfolio mode */
.facebook-pending{opacity:.66;cursor:default!important}
.facebook-pending:hover{transform:none!important}
.fb-icon{font-family:Arial,sans-serif;font-size:22px;font-weight:800;text-transform:lowercase}
[hidden]{display:none!important}
