@import url('/assets/fonts/pretendard.css');

:root{--brand:#861f1c;--brand-dark:#3e1517;--paper:#faf8f4;--ink:#292322;--muted:#766e69;--line:#ded8d1;--sans:'Pretendard',sans-serif;--font-display:var(--sans);--radius:24px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;word-break:keep-all}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd817b;outline-offset:5px}button:focus:not(:focus-visible){outline:none}::selection{background:#e9cfca;color:var(--brand-dark)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:200}.skip-link:focus{top:12px}.wrap{width:min(1240px,calc(100% - 112px));margin:auto}.section-heading{font-family:var(--sans);font-weight:500;font-size:clamp(32px,3.2vw,46px);letter-spacing:-1.7px;line-height:1.65;margin:0}.section-copy{font-size:16px;line-height:1.95;color:var(--muted)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:55px}.text-link{display:inline-flex;align-items:center;gap:42px;padding:8px 0;border-bottom:1px solid currentColor;font-size:13px}.text-link span{font-size:20px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;border:1px solid transparent;border-radius:100px;background:var(--brand);color:#fff;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.pill:hover{background:#671917;transform:translateY(-2px)}.pill.white{background:#fff;color:var(--brand-dark)}.pill.white:hover{background:#f4ebe7}.pill.outline{border-color:var(--line);background:transparent;color:var(--ink)}.pill .arrow{font-size:23px;line-height:1}.round-close{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:27px;line-height:1}.small-label{font-size:11px;letter-spacing:1.5px;color:var(--muted)}

/* A transparent header that settles into a quiet white navigation bar. */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:104px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:0 4%;color:#fff;transition:background .25s,color .25s,box-shadow .25s}.brand{display:block;width:300px;max-width:100%;position:relative}.brand img{width:100%;height:auto}.brand .red-logo{display:none}.site-header.scrolled{background:rgba(250,248,244,.94);backdrop-filter:blur(18px);color:var(--ink);box-shadow:0 1px 0 #3e151710}.scrolled .brand .white-logo{display:none}.scrolled .brand .red-logo{display:block}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:26px}.header-small{font-size:12px;background:transparent;border:0;padding:10px 0;color:inherit;opacity:.8}.menu-button{width:57px;height:57px;display:grid;place-content:center;gap:6px;border:1px solid #ffffff80;border-radius:50%;background:#ffffff12;color:inherit}.scrolled .menu-button{background:#fff;border-color:#e9e3de}.menu-button span{width:21px;height:1px;background:currentColor;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{position:fixed;top:94px;right:4%;width:min(380px,92vw);padding:20px 30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 55px #28100d18;z-index:55;color:var(--ink)}.site-nav a,.site-nav button{display:block;width:100%;font-size:18px;text-align:left;padding:16px 0;border:0;border-bottom:1px solid #eee8e2;background:transparent}.site-nav a:last-of-type{border-bottom:0}.site-nav button{margin-top:8px;border:0;color:var(--brand)}

.hero{position:relative;overflow:hidden;min-height:760px;height:96svh;max-height:1100px;background:var(--brand-dark);color:#fff;display:flex;align-items:center;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 40%,#88262244,transparent 60%);z-index:-1}.hero-symbol{position:absolute;width:min(50vw,720px);right:-7%;top:22%;opacity:.13;mix-blend-mode:screen;z-index:-1;pointer-events:none}.hero .wrap{padding-top:75px;text-align:center}.hero h1{font-size:clamp(39px,4.2vw,66px);font-family:var(--sans);font-weight:400;line-height:1.65;letter-spacing:-2.4px;margin:0 auto;max-width:1150px}.hero h1 span{color:#e9c7bc}.hero-intro{font-size:16px;line-height:2;color:#dcc8c1;margin:30px 0 34px}.hero-link{color:#fff}.hero-bottom{position:absolute;bottom:40px;left:0;right:0}.hero-bottom .wrap{display:flex;justify-content:center;align-items:center;padding-top:0}.scroll-cue{font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:20px;color:#d4b7b0}.scroll-cue:after{content:'';width:1px;height:42px;background:#c6a9a361}

.professional{padding:130px 0 145px}.professional-grid{display:grid;grid-template-columns:minmax(0,415px) minmax(0,1fr);align-items:center;gap:100px;margin-top:55px}.portrait-frame{position:relative;width:100%;max-width:415px;padding-right:34px;padding-bottom:34px}.portrait-frame:after{content:'';position:absolute;inset:30px 0 0 30px;border:1px solid #cbb7a6;z-index:-1}.portrait-frame img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}.professional-copy h3{font-family:var(--sans);font-size:32px;font-weight:500;line-height:1.8;letter-spacing:-1.1px;margin:0 0 26px}.professional-copy>p{color:var(--muted);font-size:15px;line-height:2;margin-bottom:27px}.name-line{display:flex;align-items:baseline;gap:14px;margin:25px 0 23px}.name-line strong{font-family:var(--sans);font-size:32px;font-weight:500;letter-spacing:5px}.name-line span{font-size:12px;color:var(--brand)}.career-list{list-style:none;padding:22px 0 0;margin:0 0 26px;border-top:1px solid var(--line);font-size:13px;line-height:1.95}.career-list li{margin-bottom:7px;display:flex;gap:12px}.career-list .tense{flex-shrink:0;color:var(--brand);font-size:10px;letter-spacing:.5px;padding-top:2px}.career-details{margin-top:18px;font-size:13px;color:var(--muted)}.career-details summary{cursor:pointer;color:var(--ink);padding:13px 0;border-top:1px solid var(--line)}.career-details ul{padding-left:18px;line-height:2.1}

.approach{padding:115px 0 120px;background:#f2ede7;position:relative;overflow:hidden}.approach:before{content:'';position:absolute;width:1000px;height:1000px;border:1px solid #d5c5bb65;border-radius:50%;right:-200px;top:-730px;box-shadow:0 0 0 36px #e6dcd133,0 0 0 72px #e6dcd133,0 0 0 110px #e6dcd122;pointer-events:none}.approach .section-top{position:relative}.approach-copy{max-width:350px;margin-bottom:8px}.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:65px}.principle{border-top:1px solid #cdbbb0;padding-top:24px}.principle-number{font-family:var(--sans);font-size:13px;color:#a48a7e}.principle h3{font-size:20px;letter-spacing:-.5px;font-weight:500;margin:35px 0 17px}.principle p{font-size:14px;line-height:1.95;color:var(--muted);margin:0}

.experience{background:var(--brand-dark);color:#fff;padding:120px 0}.experience .section-heading{color:#f6efeb}.experience .section-copy{max-width:340px;color:#cab5ad;font-size:14px}.case-list{margin-top:65px;border-top:1px solid #c7a39b40}.case-row{display:grid;grid-template-columns:80px 1.1fr 1fr 40px;align-items:center;gap:35px;width:100%;padding:35px 0;text-align:left;color:#fff;background:transparent;border:0;border-bottom:1px solid #c7a39b40;transition:background .2s}.case-row:hover{background:#ffffff04}.case-number{font-family:var(--sans);color:#c6a399;font-size:15px}.case-row h3{font-size:24px;font-weight:400;letter-spacing:-.7px;margin:0}.case-row p{font-size:13px;line-height:1.9;color:#c6afa7;margin:0}.case-arrow{font-size:27px;transition:transform .2s}.case-row:hover .case-arrow{transform:translate(3px,-3px)}

.insights{padding:125px 0 130px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.insight-card{display:flex;flex-direction:column;border-top:1px solid #bdaea5;padding-top:20px;transition:transform .2s}.insight-card:hover{transform:translateY(-5px)}.insight-visual{height:190px;margin-top:18px;display:flex;align-items:center;justify-content:center;background:#eee7df;position:relative;overflow:hidden}.insight-visual img{width:100px;opacity:.8}.insight-visual:before{content:'';width:240px;height:240px;position:absolute;right:-70px;bottom:-150px;border:1px solid #b69d8c;border-radius:50%;box-shadow:0 0 0 30px #b69d8c12,0 0 0 60px #b69d8c12}.insight-card:nth-child(2) .insight-visual{background:#e8e9e3}.insight-card:nth-child(3) .insight-visual{background:#e9dcda}.insight-word{font-family:var(--sans);font-size:28px;color:#7b6355;line-height:1.6;text-align:center;z-index:1}.insight-card h3{font-size:20px;line-height:1.6;letter-spacing:-.5px;font-weight:500;margin:24px 0 14px}.insight-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 25px}.insight-card .read-link{margin-top:auto;font-size:11px;color:var(--brand);display:flex;justify-content:space-between}.insights-note{font-size:12px;color:var(--muted);margin-top:25px}

.contact-section{padding:115px 0 120px;background:#eee6dd}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}.contact-section .section-heading{font-size:clamp(36px,3.7vw,52px)}.contact-description{margin-top:30px;max-width:420px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.steps{padding-top:18px}.step{display:grid;grid-template-columns:40px 1fr;gap:18px;border-top:1px solid #c8b8ab;padding:24px 0}.step-number{font-family:var(--sans);font-size:13px;color:var(--brand)}.step h3{font-size:17px;line-height:1.5;font-weight:500;margin:0 0 8px}.step p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.site-footer{background:#30221f;color:#e4d8d1;padding:65px 0 38px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:50px}.footer-logo{width:280px;margin:8px 0 23px}.footer-tagline{font-family:var(--sans);font-size:17px;color:#cdbab0;line-height:1.9}.footer-info{font-size:12px;line-height:2;color:#baa79e}.footer-info strong{display:block;font-weight:500;color:#e9ddd6;margin-bottom:10px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:#ddc5ba}.footer-links a{border-bottom:1px solid #69534a}.footer-bottom{border-top:1px solid #7861584d;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a78f83;letter-spacing:.5px}

/* Native dialogs supply focus containment and keyboard dismissal. */
dialog{border:0;color:var(--ink);background:#fff;padding:0;box-shadow:0 25px 100px #13060535;border-radius:25px;width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#18090bc2;backdrop-filter:blur(4px)}.dialog-body{padding:36px}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.dialog-top img{width:235px}.dialog-title{font-family:var(--sans);font-size:33px;line-height:1.55;font-weight:500;letter-spacing:-1.2px;margin:0 0 22px}.dialog-description{font-size:14px;line-height:1.9;color:var(--muted)}.service-art{padding:31px 32px 27px;background:#f3ece5;border-radius:18px;position:relative;overflow:hidden}.service-art>img{position:absolute;right:-25px;top:12px;width:200px;opacity:.075;pointer-events:none}.service-art .dialog-title{font-size:29px;position:relative;margin-bottom:27px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 28px;position:relative}.service-grid h3{font-size:14px;color:var(--brand);font-weight:600;margin:0 0 7px}.service-grid p{font-size:12px;line-height:1.8;color:#6b5d54;margin:0}.full-button{width:100%}.notice-controls{display:flex;justify-content:space-between;align-items:center;padding:18px 36px;background:#f8f6f2;font-size:12px;border-top:1px solid #eae4dd;gap:20px}.notice-controls label{display:flex;align-items:center;gap:8px;cursor:pointer}.notice-controls input{width:16px;height:16px;accent-color:var(--brand)}.notice-controls button{border:0;background:transparent;padding:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-field{display:flex;flex-direction:column;gap:9px;font-size:12px}.form-field.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{width:100%;background:#faf8f5;border:1px solid #e1d8cf;border-radius:9px;padding:12px;font-size:16px;color:var(--ink)}.form-field textarea{min-height:120px;resize:vertical}.required{color:var(--brand)}.form-help{font-size:12px;color:var(--muted);line-height:1.8;margin:23px 0}.form-status{font-size:13px;line-height:1.8;color:var(--brand);margin:17px 0}.contact-choice{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:12px;color:var(--muted)}.contact-choice a{color:var(--brand);text-decoration:underline;text-underline-offset:4px}.case-detail-text{font-size:14px;line-height:1.95;color:var(--muted)}.case-detail-text h3{font-size:15px;color:var(--brand);font-weight:500;margin-top:25px}.case-detail-text ul{padding-left:20px}.case-detail-text li{margin-bottom:8px}.modal-source{display:inline-block;font-size:12px;border-bottom:1px solid var(--line);margin:15px 0 25px}.copy-fallback{width:100%;min-height:160px;font-size:13px;padding:12px;border:1px solid var(--line);margin-top:18px}

.hero{min-height:700px}
@media(max-width:760px){.scroll-cue{display:none}}
dialog{overflow:hidden}dialog[open]{display:flex;flex-direction:column}.dialog-body{overflow-y:auto;min-height:0}.notice-controls{flex-shrink:0}
#service-dialog .dialog-body{padding:26px 32px}#service-dialog .dialog-top{margin-bottom:20px}#service-dialog .service-art{padding:23px 26px}#service-dialog .service-art .dialog-title{font-size:26px;margin-bottom:20px}#service-dialog .service-grid{gap:17px 24px}#service-dialog .service-grid h3{font-size:13px}#service-dialog .service-grid p{font-size:11.5px;line-height:1.75}#service-dialog .notice-controls{padding:13px 32px}
@media(min-width:1700px){.hero .wrap{width:min(1440px,calc(100% - 160px))}.hero h1{font-size:72px}.hero-symbol{right:-1%}.site-header{padding:0 5%}}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.site-header{padding:0 35px}.brand{width:260px}.header-small{display:none}.professional-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:55px}.professional-copy h3{font-size:27px}.principles{gap:24px}.principle h3{font-size:18px}.case-row{grid-template-columns:45px 1.1fr 1fr 30px;gap:22px}.case-row h3{font-size:20px}.contact-layout{gap:55px}.hero h1{font-size:clamp(36px,4.7vw,56px)}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 44px)}.site-header{height:82px;grid-template-columns:1fr auto;padding:0 22px;gap:14px}.brand{width:226px}.menu-button{width:43px;height:43px}.header-right{gap:0}.site-nav{top:76px;right:20px;width:calc(100% - 40px)}.hero{min-height:700px;height:92svh;max-height:950px}.hero .wrap{padding-top:40px}.hero h1{font-size:clamp(28px,5.9vw,43px);letter-spacing:-1.1px;line-height:1.85}.hero-intro{font-size:14px;line-height:2;margin:25px 0 30px}.hero-symbol{width:85%;top:29%;right:-33%;opacity:.1}.hero-bottom{bottom:32px}.scroll-cue{font-size:8px;letter-spacing:1px;gap:12px}.section-heading{font-size:32px;letter-spacing:-1.2px}.section-copy{font-size:14px}.section-top{display:block;margin-bottom:32px}.section-top>.text-link{margin-top:23px}.professional{padding:85px 0 90px}.professional-grid{grid-template-columns:1fr;gap:43px;margin-top:35px}.portrait-frame{max-width:280px;padding-right:21px;padding-bottom:22px}.portrait-frame img{aspect-ratio:5/6}.portrait-frame:after{inset:20px 0 0 20px}.professional-copy h3{font-size:27px;margin-bottom:22px}.professional-copy>p{font-size:14px}.name-line strong{font-size:29px}.career-list{font-size:12px}.approach{padding:85px 0}.approach-copy{margin-top:25px}.principles{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:40px}.principle{padding-top:17px}.principle h3{font-size:18px;margin:22px 0 12px}.principle p{font-size:13px}.experience{padding:85px 0}.experience .section-copy{margin-top:24px}.case-list{margin-top:40px}.case-row{grid-template-columns:24px 1fr 24px;gap:13px;padding:27px 0}.case-row h3{font-size:20px}.case-row p{grid-column:2;grid-row:2;font-size:12px}.case-arrow{grid-column:3;grid-row:1/3;font-size:23px}.case-number{align-self:start;font-size:12px;padding-top:3px}.insights{padding:85px 0}.insight-grid{grid-template-columns:1fr;gap:35px}.insight-card{display:grid;grid-template-columns:110px 1fr;column-gap:20px;padding-top:18px}.insight-card>.small-label{grid-column:1/-1;font-size:10px}.insight-visual{grid-column:1;grid-row:2/5;height:140px;margin-top:15px}.insight-visual img{width:60px}.insight-word{font-size:21px}.insight-card h3{font-size:17px;margin:16px 0 10px}.insight-card p{font-size:12px;margin:0 0 13px}.insight-card .read-link{font-size:10px}.contact-section{padding:85px 0}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-section .section-heading{font-size:35px}.contact-actions{gap:10px}.pill{font-size:13px;padding:14px 20px;gap:20px}.site-footer{padding:45px 0 105px}.footer-main{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.footer-logo{width:260px}.footer-tagline{font-size:15px}.footer-bottom{font-size:9px;display:block;line-height:2}.dialog-body{padding:25px}.dialog-top{gap:15px;margin-bottom:22px}.dialog-top img{width:min(210px,72%)}.round-close{width:36px;height:36px;font-size:24px}.dialog-title{font-size:28px}.service-art{padding:25px 21px}.service-art .dialog-title{font-size:25px}.service-grid{gap:20px}.service-grid h3{font-size:13px}.service-grid p{font-size:11px}.notice-controls{padding:15px 25px;font-size:11px}.form-grid{gap:18px;grid-template-columns:1fr}.form-field.full{grid-column:auto}.contact-choice{font-size:11px;flex-wrap:wrap}.text-link{font-size:12px;gap:30px}}
@media(max-width:360px){.brand{width:202px}.site-header{padding:0 17px;gap:10px}.hero h1{font-size:26px;letter-spacing:-1px}.hero-intro{font-size:13px}.principles{column-gap:18px}.principle h3{font-size:16px}.service-grid{grid-template-columns:1fr}.insight-card{grid-template-columns:90px 1fr;column-gap:15px}.contact-actions{flex-direction:column;align-items:stretch}}
#service-dialog .full-button{margin-top:20px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Dialog close buttons stay aligned after removing decorative labels. */
.dialog-top:has(>.round-close:only-child){justify-content:flex-end}
.professional-label{margin:0 0 20px;color:var(--brand);font-size:15px;font-weight:600;letter-spacing:-.2px}@media(max-width:760px){.professional-label{margin-bottom:16px;font-size:14px}}

/* Carry the hero's centered composition through each section introduction. */
.professional>.wrap>.professional-label,.professional>.wrap>.section-heading{text-align:center}
.section-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px}
.section-top>.section-copy{max-width:600px;margin:0}.section-top>.text-link{margin-top:0}
.professional-grid{max-width:1080px;gap:80px;margin-left:auto;margin-right:auto}.portrait-frame{justify-self:center}
.professional-copy{text-align:center}.name-line{justify-content:center}.career-list,.career-details{text-align:left}
.principles{text-align:center}
.contact-layout{grid-template-columns:1fr;gap:56px;text-align:center}.contact-description{max-width:560px;margin:30px auto 0}.contact-actions{justify-content:center}
.steps{width:100%;max-width:1080px;margin:0 auto;padding-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;text-align:left}.step{grid-template-columns:28px minmax(0,1fr);gap:12px}
@media(max-width:1100px){.professional-grid{gap:55px}.steps{gap:24px}}
@media(max-width:760px){.section-top{gap:23px}.professional-grid{gap:40px}.contact-layout{gap:40px}.steps{grid-template-columns:1fr;gap:0;max-width:480px}}

/* Fill the first viewport and hide only the document scrollbar. */
html{scrollbar-width:none}
html::-webkit-scrollbar{display:none;width:0;height:0}
.home-page .hero{height:100vh;height:100dvh;min-height:0;max-height:none}
