/* Taewoong identity: logo navy, white space and architectural verticals. */
html:has(.td-site){scrollbar-color:#315e70 #edf3f7;scrollbar-width:thin}
.td-site *{scrollbar-color:var(--td-ink) #edf3f7;scrollbar-width:thin}
html:has(.td-site)::-webkit-scrollbar,.td-site ::-webkit-scrollbar{width:10px;height:10px}
html:has(.td-site)::-webkit-scrollbar-track,.td-site ::-webkit-scrollbar-track{background:#edf3f7}
html:has(.td-site)::-webkit-scrollbar-thumb,.td-site ::-webkit-scrollbar-thumb{background:#315e70;border:2px solid #edf3f7;border-radius:5px}
html:has(.td-site)::-webkit-scrollbar-thumb:hover,.td-site ::-webkit-scrollbar-thumb:hover{background:#183747}
.td-logo-cursor{position:fixed;top:0;left:0;width:0;height:0;z-index:9999;pointer-events:none;opacity:0;user-select:none;color:var(--td-cursor-ink,#183747)}
.td-logo-cursor.is-visible{opacity:1}
.td-logo-cursor:before{content:'';position:absolute;width:5px;height:5px;left:-2.5px;top:-2.5px;background:currentColor;border-radius:50%;box-shadow:0 0 0 1px #ffffffd9}
/* Mask lives on the inner layer; the outer filter traces a white outline like the pointer dot. */
.td-cursor-symbol{display:block;position:absolute;left:3px;top:.5px;width:27px;height:31px;filter:drop-shadow(1px 0 0 #ffffff8c) drop-shadow(-1px 0 0 #ffffff8c) drop-shadow(0 1px 0 #ffffff8c) drop-shadow(0 -1px 0 #ffffff8c);transform-origin:-3px -.5px;transition:transform .18s ease}
.td-cursor-symbol:before{content:'';position:absolute;inset:0;background:currentColor;mask:var(--td-cursor-mask) center/contain no-repeat;-webkit-mask:var(--td-cursor-mask) center/contain no-repeat}
.td-logo-cursor.is-link .td-cursor-symbol{transform:scale(1.12)}
.td-logo-cursor.is-pressed .td-cursor-symbol{transform:scale(.9)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.td-site.td-custom-pointer,.td-site.td-custom-pointer *{cursor:none!important}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.td-logo-cursor{display:none}}
.td-site{--td-deep:#102936;--td-paper:#fff;--td-line:#dce5eb;--td-muted:#607887;--td-bronze:#397893;background:#fff}
.td-site h1,.td-site h2{letter-spacing:-.045em;line-height:1.4}
.td-site h2{font-size:clamp(30px,3vw,48px)}
.td-site :focus-visible{outline-color:#397893}
.td-muted{color:#718d9e}
.td-site:not([data-page=main]) .td-header,.td-header.is-scrolled,.td-header.menu-open{background:rgba(255,255,255,.97)}
.td-menu{background:#f2f6f9}
.td-hero h1{font-size:clamp(44px,4.6vw,76px);line-height:1.45;font-weight:600}
.td-hero h1 em{color:#fff}
.td-hero-copy>.td-eyebrow{letter-spacing:.13em;border-left:3px solid #a4c8dc;padding-left:14px;margin-bottom:24px}
.td-hero-description{font-size:15px;line-height:1.85;max-width:520px;color:#e1eaf0}
.td-hero-grid{background:none}
.td-hero-copy .td-line-link{border-bottom:0;background:#ffffff14;padding:10px 18px;gap:30px;backdrop-filter:blur(8px)}
.td-hero-bottom>a{font-size:12px;letter-spacing:.04em;gap:16px}
.td-hero-bottom .td-scroll-arrow{width:34px;height:42px;text-align:center;padding-top:9px;border-top:1px solid #ffffff70}
.td-hero-location{letter-spacing:.08em}
.td-section-kicker{border-top:0;padding-top:0;margin-bottom:42px}
.td-section-kicker>.td-eyebrow{display:flex;align-items:center;gap:14px;letter-spacing:.1em}
.td-section-kicker>.td-eyebrow:before{content:'';width:7px;height:22px;background:var(--td-ink);box-shadow:10px -6px 0 #8aaaba;margin-right:12px}
.td-philosophy{position:relative;padding-block:105px}
.td-philosophy-layout{grid-template-columns:1fr 1.05fr;gap:10%}
.td-philosophy-layout h2{font-size:clamp(34px,3.5vw,56px);line-height:1.5}
.td-philosophy-right>.td-lead{font-family:Pretendard,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1.6}
.td-philosophy-right>p:not(.td-lead){max-width:520px;color:#607684}
.td-values{border:0;gap:24px;margin-top:36px;padding:0;background:none}
.td-values>span{padding:0;border:0;font-size:13px}
.td-value-symbol{display:block;width:46px;height:46px;margin-bottom:18px;color:var(--td-ink)}
.td-values b{font-size:10px;color:#5e7889}
.td-business-section{background:var(--td-ink);color:#fff;position:relative;overflow:hidden}
.td-business-section .td-section-kicker>span:last-child,.td-business-section .td-eyebrow{color:#b9d0dd}
.td-business-section .td-section-kicker>.td-eyebrow:before{background:#fff;box-shadow:10px -6px 0 #6a96ac}
.td-business-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #ffffff38}
.td-business-row{display:flex;position:relative;flex-direction:column;align-items:flex-start;gap:24px;min-height:325px;padding:32px;border:0;border-right:1px solid #ffffff26;transition:background .25s}
.td-business-row:first-child{border-left:1px solid #ffffff26}
.td-business-row:last-child{border-bottom:0}
.td-business-row:hover{padding:32px;background:#ffffff09}
.td-row-number{font-size:12px;letter-spacing:.12em;color:#a8c9d9;padding:0}
.td-business-row small{color:#afc8d7;font-size:10px}
.td-business-row h3{font:600 29px/1.4 Pretendard,sans-serif;margin-top:10px;letter-spacing:-.04em}
.td-business-row p{font-size:14px;line-height:1.85;color:#ccdce5;max-width:290px;padding-right:15px}
.td-row-arrow{position:absolute;right:27px;top:26px;color:#b9d5e4}
.td-selected-grid{gap:45px 32px}
.td-selected-grid .td-project-card:nth-child(even){transform:none}
.td-selected-grid .td-project-image{aspect-ratio:1.6}
.td-selected-grid .td-project-card{padding-bottom:22px;border-bottom:1px solid var(--td-line)}
.td-project-card h3{font-weight:600;font-size:22px}
.td-project-meta{color:#587488;margin-top:18px}
.td-projects-section>.td-source-note{margin-top:24px!important}
.td-card-arrow{border-radius:0;background:#fff}
.td-promise{min-height:500px;background:#102936}
.td-promise:after{background:linear-gradient(90deg,#102936 18%,#102936bd 48%,#10293600)}
.td-promise>img{width:72%;opacity:.65}
.td-promise h2{font-size:clamp(34px,3.4vw,54px)}
.td-resource-links>a{padding:24px;background:#f0f5f8;border:0;margin-bottom:12px;transition:background .2s}
.td-resource-links>a:first-child{border:0}
.td-resource-links>a:hover{background:#e3edf3}
.td-resource-links strong{font-size:21px;font-weight:600}
.td-invitation{background:#edf3f7;color:var(--td-ink);position:relative}
.td-invitation .td-eyebrow,.td-invitation p{color:#587286}
.td-invitation h2{font-size:clamp(30px,3.5vw,54px)}
.td-circle-link{border-color:#a1b9c8;border-radius:0;width:82px;height:82px}
.td-circle-link:hover{background:var(--td-ink);color:#fff}
.td-footer{background:#102936}
.td-subhero{padding-bottom:65px;border-bottom:1px solid var(--td-line);margin-bottom:32px;overflow:hidden}
.td-subhero h1{font-size:clamp(34px,3.8vw,60px);max-width:78%}
.td-subhero .td-eyebrow{color:#4c768f;letter-spacing:.1em}
.td-subhero .td-lead{position:relative;z-index:1;color:#607887;max-width:78%}
.td-subhero-mark{width:190px;height:230px;right:20px;bottom:22px;opacity:.07}
.td-subhero-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0)}
.td-ceo,.td-organization,.td-download{background:#edf3f7}
.td-location-art{background-color:#edf3f7;background-image:linear-gradient(#547e9612 1px,transparent 1px),linear-gradient(90deg,#547e9612 1px,transparent 1px)}
.td-location-art p,.td-location-cross{color:#64869a}
.td-detail-image{background:#edf3f7}
.td-org-branches>div{border-top-color:#42718b}
@media(max-width:1100px){.td-business-row,.td-business-row:hover{padding:25px}.td-business-row h3{font-size:25px}.td-business-row p{font-size:13px}.td-row-arrow{right:20px}}
@media(max-width:760px){
 .td-hero h1{font-size:clamp(35px,8.9vw,56px)}
 .td-hero-description{font-size:13px}.td-hero-copy>.td-eyebrow{font-size:8px;padding-left:10px}
 .td-hero-bottom>a{font-size:11px}.td-hero-copy .td-line-link{font-size:12px}
 .td-philosophy{padding-block:70px}.td-philosophy-layout{grid-template-columns:1fr;gap:35px}
 .td-philosophy-layout h2{font-size:36px}.td-philosophy-right>.td-lead{font-size:21px}
 .td-values{gap:12px}.td-values>span{font-size:11px;padding:0}.td-values b{font-size:9px}.td-value-symbol{width:38px;height:38px;margin-bottom:14px}
 .td-section-kicker{margin-bottom:32px}.td-section-heading h2{font-size:32px}
 .td-business-list{grid-template-columns:1fr}.td-business-row,.td-business-row:hover{min-height:0;padding:25px 20px;gap:16px;border:0;border-bottom:1px solid #ffffff26}
 .td-business-row:first-child{border-left:0}.td-business-row p{max-width:100%;padding-right:20px}
 .td-business-row h3{font-size:25px}.td-row-arrow{top:25px}.td-selected-grid{grid-template-columns:1fr;gap:30px}
 .td-selected-grid .td-project-image{aspect-ratio:1.55}.td-project-card h3{font-size:20px}.td-project-meta{font-size:10px}
 .td-promise{min-height:440px}.td-promise>img{width:100%;opacity:.45}.td-promise h2{font-size:35px}
 .td-circle-link{width:55px;height:55px}.td-invitation h2{font-size:30px}
 .td-subhero{padding-bottom:35px;margin-bottom:25px}.td-subhero h1{font-size:32px;max-width:95%}.td-subhero .td-lead{max-width:90%}
 .td-subhero-mark{width:110px;height:135px;right:0;bottom:20px;opacity:.045}
}
/* An open architectural frame replaces the generic diagonal link arrow. */
.td-enter-mark{display:inline-block;width:26px;height:26px;vertical-align:middle;flex:none;overflow:visible}
.td-enter-pillar{transform-origin:14px 14px;transition:transform .3s ease}
a:hover .td-enter-pillar,a:focus-visible .td-enter-pillar{transform:translateX(3px)}
.td-contact-link .td-enter-mark{width:21px;height:21px}
.td-line-link{border-bottom:0;gap:24px;font-weight:500}
.td-line-link:hover{gap:24px}
.td-circle-link{border:0;background:none}
.td-circle-link .td-enter-mark{width:48px;height:48px}
.td-card-arrow{background:#fff;width:42px;height:42px}
.td-menu-links .td-enter-mark{width:22px;height:22px}
@media(prefers-reduced-motion:reduce){.td-enter-pillar{transition:none}a:hover .td-enter-pillar,a:focus-visible .td-enter-pillar{transform:none}}

/* Quick access: a small architectural totem on desktop, a dock on touch screens. */
.td-showcase-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding-block:16px;border-top:1px solid var(--td-line)}
.td-showcase-count{font-size:25px;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.td-showcase-total{font-size:12px;color:var(--td-muted);margin-left:20px}
.td-showcase-actions{display:flex;gap:8px}
.td-showcase-actions button{border:0;background:#edf3f7;padding:12px 16px;font-size:12px;min-height:44px}
.td-showcase-actions button:hover{background:var(--td-ink);color:#fff}
.td-project-group+.td-project-group{margin-top:40px}
.td-project-showcase:has(.td-showcase-controls:not([hidden])) .td-project-group{margin-top:0}
.td-project-shutter{position:absolute;inset:0;display:flex;pointer-events:none;overflow:hidden}
.td-project-shutter i{display:block;flex:1;background:var(--td-ink);transform:scaleY(0);transform-origin:bottom}
.td-project-shutter i:nth-child(2){background:#31586b}
.td-project-shutter i:nth-child(3){background:#608194}
@keyframes td-shutter-close{to{transform:scaleY(1)}}
@keyframes td-shutter-open{from{transform:scaleY(1)}to{transform:scaleY(0)}}
.is-covering .td-project-shutter i{animation:td-shutter-close .28s ease-in both}
.is-revealing .td-project-shutter i{transform-origin:top;animation:td-shutter-open .5s cubic-bezier(.22,.7,.2,1) both}
.is-covering .td-project-shutter i:nth-child(2),.is-revealing .td-project-shutter i:nth-child(2){animation-delay:.06s}
.is-covering .td-project-shutter i:nth-child(3),.is-revealing .td-project-shutter i:nth-child(3){animation-delay:.12s}
.td-card-arrow .td-enter-mark{width:24px;height:24px}
@media(max-width:760px){.td-showcase-controls{align-items:flex-start;flex-direction:column;gap:14px}.td-showcase-actions{width:100%}.td-showcase-actions button{flex:1;padding-inline:9px}.td-showcase-total{font-size:11px}.td-showcase-count{font-size:22px}.td-project-showcase .td-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.td-project-showcase .td-project-image{aspect-ratio:1}.td-project-showcase .td-project-card h3{font-size:16px}.td-project-showcase .td-project-meta{font-size:9px}.td-project-showcase .td-card-arrow{width:30px;height:30px}.td-project-showcase .td-card-arrow svg{width:20px;height:20px}}
.td-quick{--td-read:0;position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:75;width:72px;padding:12px 5px 6px;background:#fffffff5;color:var(--td-ink);box-shadow:0 8px 32px #10293614;backdrop-filter:blur(18px);border-radius:2px 2px 14px 2px}
.td-quick:before{content:'';position:absolute;left:0;right:20px;top:0;height:3px;background:var(--td-ink)}
.td-quick-sign{display:block;text-align:center;font:600 16px/1.3 MaruBuri,serif;padding:2px 0 10px;letter-spacing:-.08em}
.td-quick-sign>span{color:#7293a5}
.td-quick-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-height:78px;padding:10px 2px;border:0;background:none;color:inherit;border-radius:3px;position:relative;-webkit-tap-highlight-color:transparent;transition:background .25s,color .25s}
.td-quick-item>span{font-size:10px;line-height:1.3;white-space:nowrap;font-weight:500}
.td-quick-item svg{display:block;width:32px;height:32px;overflow:visible}
.td-quick-frame,.td-quick-track{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:square}
.td-quick-track{opacity:.18}
.td-quick-pillars{fill:currentColor;transform-origin:18px 28px;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.td-quick-item[aria-current=page]{background:#e9f1f6}
.td-quick-contact{background:var(--td-ink);color:#fff!important;margin-block:4px}
.td-quick-top{min-height:70px}
.td-quick-progress{stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--td-read))}
.td-site:has(.td-header.menu-open) .td-quick{visibility:hidden;pointer-events:none}
@keyframes td-frame-trace{from{stroke-dasharray:100;stroke-dashoffset:100}to{stroke-dasharray:100;stroke-dashoffset:0}}
@keyframes td-pillar-build{0%{transform:scaleY(.65) translateY(2px)}65%{transform:scaleY(1.08) translateY(-1px)}100%{transform:scaleY(1)}}
@media(prefers-reduced-motion:no-preference){
 .td-quick-item:is(:hover,:focus-visible) .td-quick-frame:not(.td-quick-progress){animation:td-frame-trace .6s ease both}
 .td-quick-item:is(:hover,:focus-visible) .td-quick-pillars{animation:td-pillar-build .6s cubic-bezier(.2,.7,.2,1) both}
 .td-quick-up{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
 .td-quick-top:is(:hover,:focus-visible) .td-quick-up{transform:translateY(-3px)}
}
.td-quick-item:active{background:#dce9f1}
.td-quick-contact:active{background:#31586e}
@media(min-width:1101px){.td-site .td-container{width:calc(100% - 208px)}}
@media(max-width:1100px){
 .td-site{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .td-quick{top:auto;bottom:0;right:0;left:0;transform:none;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px max(12px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-radius:0;box-shadow:0 -5px 28px #10293612}
 .td-quick:before{left:calc(50% - 18px);right:auto;width:36px;height:2px;background:#a8bdc9}
 .td-quick-sign{display:none}
 .td-quick-item,.td-quick-top{min-height:64px;padding:6px 2px;gap:4px;border-radius:4px}
 .td-quick-item svg{width:29px;height:29px}.td-quick-item>span{font-size:10px}
 .td-quick-contact{margin:0}
 .td-hero-bottom{bottom:calc(98px + env(safe-area-inset-bottom,0px))}
 .td-hero-copy{padding-bottom:180px}
 .td-site:has(input:focus,textarea:focus,select:focus) .td-quick{visibility:hidden;pointer-events:none}
}

/* Page-widget content arrives in a floated .xe-widget-wrapper; contain it so later sections never overlap it. */
.td-cms{display:flow-root}
.td-cms>.xe-widget-wrapper{float:none!important}

/* Lenis owns wheel easing; dialogs and touch retain native scrolling. */
html.lenis:has(.td-site),html.lenis:has(.td-site) body{height:auto}html.lenis.lenis-smooth:has(.td-site){scroll-behavior:auto!important}.td-site [data-lenis-prevent]{overscroll-behavior:contain}html.lenis.lenis-stopped:has(.td-site){overflow:hidden}

.td-media-controls{display:flex;align-items:center;gap:12px}.td-sound-toggle{background:#10293680;color:#fff;border:1px solid #ffffff70;border-radius:3px;padding:10px 13px;font-size:11px!important;min-height:44px;white-space:nowrap}
/* Editable signature, brand invitation and address map. */
.td-signature{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.td-signature .td-ceo-sign{display:inline-block;width:120px;height:64px;object-fit:contain;margin-left:12px}.td-circle-link .td-invitation-logo{width:60%;height:70%;object-fit:contain;filter:brightness(0) saturate(100%) invert(17%) sepia(22%) saturate(1300%) hue-rotate(155deg);transition:transform .4s}.td-circle-link:hover .td-invitation-logo{transform:translateY(-3px)}.td-location-map{position:relative;min-height:460px;background:#edf3f6}.td-map-canvas{position:absolute;inset:0;width:100%;height:100%}.td-map-fallback{min-height:460px;padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box}.td-map-fallback strong{font-size:28px;color:#183747}.td-map-fallback a{margin-top:20px;border-bottom:1px solid currentColor;padding-bottom:8px}.td-map-fallback[hidden],.td-map-canvas[hidden]{display:none}@media(max-width:700px){.td-location-map,.td-map-fallback{min-height:340px}.td-map-fallback{padding:28px}}
