
:root{--paper:#f4f3ee;--white:#fff;--ink:#171717;--muted:#77736d;--line:#dcd9d2;--dark:#171717;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Noto Sans KR",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1440px,calc(100% - 96px));margin:auto}
.site-header{height:82px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;background:rgba(244,243,238,.94);border-bottom:1px solid rgba(0,0,0,.055);backdrop-filter:blur(12px)}.brand{font-size:23px;font-weight:700;letter-spacing:.09em;line-height:1}.brand small{display:block;margin-top:6px;font-size:7px;font-weight:400;letter-spacing:.18em}.nav{display:flex;gap:40px;font-size:10px;font-weight:500;letter-spacing:.17em}.nav a{position:relative;padding:7px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:1px;background:#222;transition:.25s}.nav a:hover:after{right:0}.mobile-toggle{display:none;border:0;background:none;font-size:22px;padding:3px;cursor:pointer}
.hero{height:calc(100svh - 82px);min-height:640px;padding:0;position:relative}.hero-stage{height:100%;position:relative;overflow:hidden;background:#cbc9c2}.slide{position:absolute;inset:0;opacity:0;transition:opacity .95s ease}.slide.active{opacity:1}.slide img{transform:scale(1.015);transition:transform 6s ease}.slide.active img{transform:scale(1.05)}.hero-ui{position:absolute;left:24px;right:24px;bottom:22px;z-index:4;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;font-size:9px;letter-spacing:.18em;text-shadow:0 1px 7px rgba(0,0,0,.25)}.hero-controls{display:flex;align-items:center;gap:16px}.hero-controls button{border:0;background:none;color:#fff;cursor:pointer;padding:5px;font-size:9px;letter-spacing:.18em}.hero-scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:5;font-size:7px;letter-spacing:.28em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.28)}
.section{padding:132px 0}.kicker{font-size:8px;font-weight:500;letter-spacing:.20em;margin-bottom:45px}.kicker .no{color:#a29f98;margin-right:15px}.ko-title{font-weight:400;letter-spacing:-.05em;line-height:1.34;margin:0}.about-title{font-size:clamp(34px,3vw,50px)}.section-title{font-size:clamp(37px,3.3vw,56px);font-weight:400;letter-spacing:-.05em;line-height:1.22;margin:0}.bodycopy{font-size:13px;line-height:2.02;letter-spacing:-.018em;color:#5d5952}
.about-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:start}.about-copy{max-width:530px;padding-top:7px}.about-work{margin-top:88px;display:grid;grid-template-columns:1.28fr .72fr;gap:26px}.about-work .wide,.about-work .tall{height:455px;overflow:hidden}.about-work .tall img{object-position:center 58%}.values{margin-top:62px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--serif);font-size:11px;letter-spacing:.14em}
.projects{background:var(--white)}.project-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px}.project-range{font-size:9px;letter-spacing:.15em;color:#88847d}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 36px}.project-card .visual{aspect-ratio:1.42;background:#d4d1ca;overflow:hidden}.project-card img{transition:transform .55s ease}.project-card:hover img{transform:scale(1.035)}.shape-a{border-radius:0 88px 0 0}.shape-b{clip-path:polygon(0 0,100% 0,100% 84%,88% 100%,0 100%)}.shape-c{border-radius:88px 0 0 0}.shape-d{border-radius:0 0 88px 0}.shape-e{clip-path:polygon(0 0,90% 0,100% 17%,100% 100%,0 100%)}.shape-f{border-radius:0 88px 0 88px}.project-meta{display:grid;grid-template-columns:40px 1fr auto;gap:13px;padding-top:16px}.project-meta .idx{font-size:8px;color:#aaa}.project-meta h3{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:-.012em;line-height:1.25;margin:0 0 5px}.project-meta p{margin:0;font-size:8px;letter-spacing:.12em;line-height:1.5;color:#8d8981}.project-meta .go{font-size:16px}.more-row{margin-top:72px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.more-row span{font-size:9px;letter-spacing:.18em}.more-row a{font-family:var(--serif);font-size:20px}
.architect{background:var(--paper)}.architect-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:start}.architect-photo{height:650px;overflow:hidden;background:#d0cec7}.architect-photo img{object-position:center top}.architect-name{font-family:var(--serif);font-size:40px;font-weight:400;letter-spacing:-.025em;line-height:1.06;margin:0 0 9px}.architect-role{font-size:9px;letter-spacing:.16em;line-height:1.6;color:#777;margin-bottom:38px}.bio{font-size:12px;line-height:1.95;letter-spacing:-.018em;color:#45413b;padding-bottom:30px;border-bottom:1px solid var(--line)}.awards{margin-top:29px}.award{display:grid;grid-template-columns:62px 1fr;gap:17px;padding:10px 0;border-bottom:1px solid #e3e0d9;font-size:10px;line-height:1.6;letter-spacing:-.012em}.award b{font-weight:500}
.statement{height:64vh;min-height:530px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#c8c6c0}.statement img{position:absolute;inset:0}.statement:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}.statement-text{position:relative;z-index:2;color:#fff;font-size:clamp(28px,3vw,46px);font-weight:300;letter-spacing:-.045em;line-height:1.42}.statement-text small{display:block;margin-top:22px;font-size:7px;letter-spacing:.25em}
.service-row{display:grid;grid-template-columns:68px .9fr 1.2fr;gap:24px;padding:29px 0;border-top:1px solid var(--line);align-items:center}.service-row:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:8px;color:#aaa}.service-name{font-family:var(--serif);font-size:29px;letter-spacing:-.02em}.service-desc{font-size:10px;line-height:1.85;letter-spacing:-.014em;color:#69655e}
.contact{background:var(--dark);color:#f1f0eb;padding:118px 0 88px}.contact-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:8vw;align-items:start}.contact-title{font-size:clamp(36px,3.5vw,58px);font-weight:400;letter-spacing:-.05em;line-height:1.28;margin:0}.contact-desc{margin-top:22px;font-size:11px;line-height:1.9;letter-spacing:-.015em;color:#aaa}.contact-info{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:28px;font-size:9px;line-height:1.9}.contact-info b{display:block;color:#6e6e6e;font-size:7px;letter-spacing:.2em;margin-bottom:7px}.contact-visual{height:420px;overflow:hidden;background:#333}
.footer{background:var(--dark);color:#aaa;border-top:1px solid #323232;padding:39px 0 34px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer-brand{font-size:20px;color:#fff;letter-spacing:.08em}.footer-brand small{display:block;color:#717171;font-size:7px;letter-spacing:.19em;margin-top:6px}.footer-text{font-size:8px;line-height:1.95;letter-spacing:-.01em}.copyright{margin-top:34px;font-size:7px;color:#606060}
.page-hero{padding:106px 0 82px}.page-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.page-hero .display{font-family:var(--serif);font-size:clamp(54px,5.4vw,92px);font-weight:400;line-height:.95;letter-spacing:-.045em;margin:0}.page-hero p{max-width:390px;margin:0 0 8px;font-size:10px;line-height:1.8;color:#777}.all-projects{padding:0 0 130px;background:#fff}.all-projects .project-grid{padding-top:66px}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:66px;padding:0 20px}.brand{font-size:18px}.brand small{font-size:6px;margin-top:5px}.nav{display:none}.mobile-toggle{display:block}.nav.mobile-open{display:flex;position:absolute;top:66px;left:0;right:0;background:var(--paper);flex-direction:column;padding:28px 20px 32px;gap:24px;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 66px);min-height:560px;padding:0}.hero-ui{left:14px;right:14px;bottom:17px}.hero-scroll{display:none}.section{padding:82px 0}.kicker{margin-bottom:30px;font-size:7px}.about-intro,.about-work,.architect-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.about-title{font-size:31px;line-height:1.42}.about-copy{font-size:12px;line-height:1.96}.about-work{margin-top:58px}.about-work .wide,.about-work .tall{height:340px}.values{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:17px;font-size:9px}.project-head{display:block;margin-bottom:39px}.section-title{font-size:35px;line-height:1.28}.project-range{margin-top:12px}.project-grid{grid-template-columns:1fr;gap:47px}.project-card .visual{aspect-ratio:1.22}.shape-a{border-radius:0 54px 0 0}.shape-c{border-radius:54px 0 0}.shape-d{border-radius:0 0 54px}.shape-f{border-radius:0 54px 0 54px}.project-meta h3{font-size:17px}.project-meta p{font-size:7.5px}.more-row{margin-top:50px}.more-row a{font-size:18px}.architect-photo{height:500px}.architect-name{font-size:34px}.architect-role{font-size:8px;margin-bottom:28px}.bio{font-size:11px;line-height:1.9}.award{grid-template-columns:52px 1fr;font-size:9.5px}.statement{height:55vh;min-height:440px}.statement-text{font-size:29px;padding:0 22px}.service-row{grid-template-columns:38px 1fr;gap:10px 9px;padding:23px 0}.service-name{font-size:25px}.service-desc{grid-column:2;font-size:10px}.contact{padding:80px 0 64px}.contact-title{font-size:33px;line-height:1.35}.contact-desc{font-size:10.5px}.contact-info{grid-template-columns:1fr;gap:18px}.contact-visual{height:345px}.footer-grid{grid-template-columns:1fr;gap:24px}.copyright{margin-top:28px}.page-hero{padding:76px 0 56px}.page-hero-row{display:block}.page-hero .display{font-size:52px}.page-hero p{margin-top:20px}}

@media(max-width:760px){
  .hero .slide:nth-child(1) img{object-position:60% center}
  .hero .slide:nth-child(2) img{object-position:58% center}
  .hero .slide:nth-child(3) img{object-position:57% center}
  .hero-scroll{display:block;bottom:14px}
}

/* FINAL HERO / HEADER REVISION */
:root{--paper:#ffffff}
body{background:#ffffff}
.site-header{background:#ffffff;height:84px}
.brand{font-size:28px;letter-spacing:.085em}
.brand small{font-size:7px;margin-top:7px}
.hero{height:calc(100svh - 84px);padding:0;margin:0;width:100%}
.hero-stage{width:100%;height:100%}
.hero .slide img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){
  .site-header{height:68px;background:#fff}
  .brand{font-size:21px}
  .hero{height:calc(100svh - 68px);padding:0;margin:0}
  .hero .slide:nth-child(1) img{object-position:54% center}
  .hero .slide:nth-child(2) img{object-position:58% center}
  .hero .slide:nth-child(3) img{object-position:55% center}
}

/* === SOYO hero/header merge === */
body.home .site-header{
  position:absolute;
  top:0; left:0; right:0;
  z-index:100;
  height:84px;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
  color:#fff;
  transition:background .35s ease,color .35s ease,box-shadow .35s ease;
}
body.home .site-header .brand,
body.home .site-header .nav a,
body.home .site-header .mobile-toggle{color:#fff;}
body.home .site-header .nav a:after{background:#fff;}
body.home .hero{height:100svh;min-height:640px;}
body.home .site-header.is-scrolled{
  position:fixed;
  background:rgba(255,255,255,.94);
  color:#171717;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
  backdrop-filter:blur(12px);
}
body.home .site-header.is-scrolled .brand,
body.home .site-header.is-scrolled .nav a,
body.home .site-header.is-scrolled .mobile-toggle{color:#171717;}
body.home .site-header.is-scrolled .nav a:after{background:#171717;}
@media(max-width:760px){
  body.home .site-header{height:68px;padding:0 20px;}
  body.home .hero{height:100svh;min-height:560px;}
  body.home .nav.mobile-open{
    top:68px;
    background:rgba(255,255,255,.97);
    color:#171717;
  }
  body.home .nav.mobile-open a{color:#171717;}
  body.home .nav.mobile-open a:after{background:#171717;}
}


/* === FINAL DETAIL: HERO PROGRESS + SOFT GLASS CURSOR === */
.hero-progress{position:absolute;z-index:6;left:24px;right:24px;bottom:8px;height:1px;background:rgba(255,255,255,.28);overflow:hidden;pointer-events:none}
.hero-progress span{display:block;width:100%;height:100%;background:rgba(255,255,255,.95);transform:scaleX(0);transform-origin:left center}
.hero-progress span.is-running{animation:soyoHeroProgress 6s linear forwards}
@keyframes soyoHeroProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.soft-cursor{position:fixed;left:0;top:0;width:38px;height:38px;border-radius:50%;z-index:9999;pointer-events:none;opacity:0;transform:translate3d(-50%,-50%,0);border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.055);box-shadow:0 0 24px rgba(255,255,255,.12),inset 0 0 18px rgba(255,255,255,.05);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:width .28s ease,height .28s ease,opacity .25s ease,background .28s ease,border-color .28s ease}
.soft-cursor.is-hover{width:62px;height:62px;background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.28)}
@media(max-width:760px),(pointer:coarse){.soft-cursor{display:none}.hero-progress{left:14px;right:14px;bottom:7px}}
@media(prefers-reduced-motion:reduce){.hero-progress span.is-running{animation:none;transform:scaleX(1)}.soft-cursor{display:none}}
