:root{
  --ark-black:#111111;--ark-charcoal:#1d1d1b;--ark-deep:#45433f;
  --ark-warm:#f3efe7;--ark-paper:#fbf9f4;--ark-beige:#d7ccbb;
  --ark-muted:#817d76;--ark-line:rgba(17,17,17,.16);--ark-line-dark:rgba(255,255,255,.18);
  --ark-serif:'Cormorant Garamond',Georgia,serif;--ark-sans:'Noto Sans KR',system-ui,sans-serif;
  --ark-rail:108px;--ark-pad:clamp(28px,6vw,92px)
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--ark-paper);color:var(--ark-black);font-family:var(--ark-sans);font-weight:300;line-height:1.75;word-break:keep-all;-webkit-font-smoothing:antialiased}
main,.site-footer{margin-left:var(--ark-rail)}
section{scroll-margin-top:20px}
.eyebrow{font-family:var(--ark-serif);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}

/* Fixed editorial navigation */
.site-header,.site-header.scrolled{position:fixed;inset:0 auto 0 0;z-index:100;width:var(--ark-rail);height:auto;padding:24px 13px;background:rgba(243,239,231,.95);border:0;border-right:1px solid var(--ark-line);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--ark-serif);font-size:14px;letter-spacing:.15em}
.brand img{width:34px;height:34px;object-fit:contain;filter:grayscale(1)}
.site-nav{display:flex;flex-direction:column;gap:21px;width:100%;align-items:center}
.site-nav a,.site-nav .nav-contact{display:block;padding:0;border:0;background:none;color:var(--ark-muted);font-family:var(--ark-serif);font-size:12px;line-height:1.2;letter-spacing:.04em;text-align:center;transition:color .2s}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--ark-black)}
.menu-toggle{display:none}

/* Full-bleed opening image */
.hero{position:relative;min-height:100svh;padding:0 5vw;background-color:var(--ark-charcoal);background-position:center;background-size:cover;color:var(--ark-paper);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero::before{display:none}.hero::after{content:'';position:absolute;inset:24px;border:1px solid rgba(255,255,255,.22);pointer-events:none}
.hero-grid,.hero-identity{display:none}
.hero-copy{position:static;align-self:auto;max-width:1100px;padding:40px 24px}
.hero-copy .eyebrow,.hero-copy h1{position:relative;z-index:2}
.hero-copy .eyebrow{justify-content:center;margin-bottom:20px;color:rgba(255,255,255,.72)}
.hero-copy .eyebrow::before{display:none}
.hero h1{font-family:var(--ark-serif);font-size:clamp(48px,7vw,104px);font-weight:400;line-height:1.05;letter-spacing:-.045em}
.hero h1 em{display:inline-block;font-style:normal;color:var(--ark-paper)}
.hero-desc{position:absolute;z-index:2;left:44px;bottom:38px;max-width:420px;margin:0;text-align:left;font-size:12px;line-height:1.8;color:rgba(255,255,255,.72)}
.hero-actions{position:absolute;z-index:3;right:42px;bottom:38px;margin:0;gap:10px}
.hero-actions .button,.hero-actions .text-link{min-width:auto;padding:9px 13px;border:1px solid rgba(255,255,255,.48);background:transparent;color:#fff;font-family:var(--ark-serif);font-size:11px;letter-spacing:.08em}
.hero-actions .text-link{border:0}

.manifesto{padding:clamp(100px,14vw,210px) var(--ark-pad);background:var(--ark-paper)}
.manifesto p{max-width:950px;font-size:clamp(34px,5vw,72px);font-weight:300;line-height:1.48;letter-spacing:-.05em}
.section-light{background:var(--ark-paper)}.section-warm{background:var(--ark-warm)}.section-dark{background:var(--ark-charcoal);color:var(--ark-paper)}
.projects,.about,.strengths,.services,.process,.faq{padding:clamp(92px,11vw,170px) var(--ark-pad)}

/* Numbered section system */
.section-heading{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:clamp(36px,8vw,130px);padding:0 0 32px;margin:0 0 clamp(52px,7vw,100px);border-bottom:1px solid var(--ark-line)}
.section-heading.inverse{border-color:var(--ark-line-dark)}
.section-heading>div:first-child{display:flex;align-items:flex-start;gap:18px;padding:10px 0 0}
.section-heading>div:first-child::before{font-family:var(--ark-serif);font-size:14px;color:var(--ark-muted);font-variant-numeric:tabular-nums}
.projects .section-heading>div:first-child::before{content:'01'}.about .section-heading>div:first-child::before{content:'02'}.strengths .section-heading>div:first-child::before{content:'03'}.services .section-heading>div:first-child::before{content:'04'}.process .section-heading>div:first-child::before{content:'05'}.faq .section-heading>div:first-child::before{content:'06'}
.section-heading .eyebrow{color:var(--ark-deep)}
.section-heading.inverse .eyebrow,.section-heading.inverse>div:first-child::before{color:rgba(255,255,255,.58)}
.section-heading h2{font-family:var(--ark-serif);font-size:clamp(38px,4.5vw,64px);font-weight:400;line-height:1.3;letter-spacing:-.04em}
.tile-copy h2,.contact-intro h2{font-family:var(--ark-serif);font-size:clamp(42px,5.5vw,78px);font-weight:400;line-height:1.2;letter-spacing:-.045em}
.section-heading>div:last-child>p{max-width:610px;margin-top:25px;color:var(--ark-muted);font-size:14px}.section-heading.inverse>div:last-child>p{color:rgba(255,255,255,.54)}

/* Portfolio */
.project-tabs{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 46px}.project-tabs:empty{display:none}
.project-tabs button{border:0;border-bottom:1px solid transparent;padding:7px 0;background:none;color:rgba(255,255,255,.5);font-size:12px;cursor:pointer}.project-tabs button.active{color:#fff;border-color:#fff}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(55px,8vw,120px) 28px}
.project-card,.project-card:nth-child(n){grid-column:span 6;margin:0}
.project-image,.project-card:nth-child(n) .project-image{position:relative;aspect-ratio:16/9;background-position:center;background-size:cover;background-color:#2b2b29;border-radius:0;overflow:hidden;cursor:zoom-in}
.project-card:nth-child(n) .project-image{aspect-ratio:4/3}
.project-placeholder .project-image{cursor:default;display:flex;align-items:center;justify-content:center;border:1px solid var(--ark-line-dark)}
.project-placeholder .project-image span{font-family:var(--ark-serif);font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.34)}
.project-info,.project-meta{display:flex;align-items:baseline;gap:15px;margin-top:16px}.project-info h3,.project-meta h3{font-family:var(--ark-serif);font-size:24px;font-weight:400}.project-info p,.project-meta p,.project-category{font-size:11px;color:rgba(255,255,255,.5)}
.project-pagination{display:flex;justify-content:center;gap:10px;margin-top:68px}.project-pagination[hidden]{display:none}.project-pagination button{width:38px;height:38px;border:1px solid var(--ark-line-dark);background:none;color:#fff;cursor:pointer}.project-pagination button.active{background:var(--ark-paper);color:var(--ark-black)}

/* Studio */
.about-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(42px,8vw,120px);align-items:start}
.about-copy{order:2;padding:6vw 0 0}.about-copy .lead{max-width:690px;font-family:var(--ark-serif);font-size:clamp(30px,3.8vw,56px);line-height:1.35;letter-spacing:-.035em}
.about-copy>p:not(.lead){max-width:590px;margin-top:38px;color:var(--ark-muted);font-size:15px;line-height:2}
.about blockquote{order:1;min-height:670px;padding:clamp(30px,4vw,58px);border-radius:0;background-position:center;background-size:cover;display:flex;flex-direction:column;justify-content:flex-end}
.about blockquote span{font-family:var(--ark-serif);font-size:50px;line-height:1;color:var(--ark-beige)}.about blockquote p{font-family:var(--ark-serif);font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.35}

/* Principles */
.strength-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ark-line);border-left:1px solid var(--ark-line)}
.strength-card{position:relative;min-height:300px;padding:30px;border:0;border-right:1px solid var(--ark-line);border-bottom:1px solid var(--ark-line);background:transparent;transition:background .25s,color .25s}
.strength-card:hover{background:var(--ark-charcoal);color:var(--ark-paper)}.strength-card .card-no{font-family:var(--ark-serif);font-size:14px;color:var(--ark-muted)}
.strength-card h3{margin-top:62px;font-family:var(--ark-serif);font-size:clamp(24px,2.2vw,32px);font-weight:400;line-height:1.35}.strength-card p{margin-top:18px;font-size:12px;line-height:1.85;color:var(--ark-muted)}.strength-card:hover p{color:rgba(255,255,255,.58)}

/* Services are intentionally image-free */
.service-list{counter-reset:svc;display:block;border:0;border-top:1px solid var(--ark-line)}
.service-item{counter-increment:svc;min-height:0;display:grid;grid-template-columns:90px minmax(260px,.85fr) minmax(0,1.15fr);gap:30px;align-items:baseline;padding:32px 0;border:0;border-bottom:1px solid var(--ark-line);background:transparent;transition:padding .25s,background .25s}
.service-item::before{content:counter(svc,decimal-leading-zero);font-family:var(--ark-serif);font-size:15px;color:var(--ark-muted)}.service-item:hover{padding-left:18px;padding-right:18px;background:var(--ark-warm)}
.service-visual{display:none!important;background:none!important}.service-copy{display:contents;margin:0}
.service-item h3{font-family:var(--ark-serif);font-size:clamp(20px,1.7vw,27px);font-weight:400;line-height:1.45}.service-item p{margin:0;max-width:720px;color:var(--ark-muted);font-size:13px;line-height:1.9}

/* Specialist collaboration */
.tile-collab{min-height:72vh;padding:clamp(80px,10vw,150px) var(--ark-pad);background-color:var(--ark-charcoal);background-position:center;background-size:cover;color:var(--ark-paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end}
.tile-mark{font-family:var(--ark-serif);font-size:clamp(64px,9vw,138px);line-height:.8;letter-spacing:-.05em}.tile-mark span{color:var(--ark-beige)}
.tile-copy .eyebrow{margin-bottom:24px;color:var(--ark-beige)}.tile-copy h2{font-size:clamp(40px,5vw,70px)}.tile-copy>p:last-child{max-width:650px;margin-top:34px;color:rgba(255,255,255,.66);font-size:14px;line-height:2}

/* Process and FAQ */
.process-list{display:block;border-top:1px solid var(--ark-line)}
.process-step{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:30px;padding:30px 0;border:0;border-bottom:1px solid rgba(155,139,117,.34);align-items:baseline}
.process .section-heading,.process-list{border-color:rgba(155,139,117,.34)}
.process-step>span{font-family:var(--ark-serif);font-size:15px;color:var(--ark-muted)}.process-step h3{font-family:var(--ark-serif);font-size:clamp(25px,2.5vw,35px);font-weight:400}.process-step p{color:var(--ark-muted);font-size:13px}
.faq-list{max-width:1000px;margin-left:auto}.faq-item{border:0;border-top:1px solid var(--ark-line);border-radius:0;background:transparent}.faq-item:last-child{border-bottom:1px solid var(--ark-line)}
.faq-item summary{list-style:none;display:grid;grid-template-columns:42px 1fr 28px;align-items:center;padding:25px 0;cursor:pointer;font-size:17px}.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span,.faq-answer>span{font-family:var(--ark-serif);color:var(--ark-muted)}.faq-item summary i{position:relative;width:18px;height:18px}.faq-item summary i::before,.faq-item summary i::after{content:'';position:absolute;left:0;top:8px;width:18px;height:1px;background:currentColor;transition:transform .2s}.faq-item summary i::after{transform:rotate(90deg)}.faq-item[open] summary i::after{transform:rotate(0)}
.faq-answer{display:grid;grid-template-columns:42px 1fr;padding:0 46px 28px 0;color:var(--ark-muted);font-size:13px;line-height:1.9}

/* Inquiry */
.contact{padding:clamp(92px,11vw,170px) var(--ark-pad);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,120px);background:var(--ark-charcoal);color:var(--ark-paper)}
.contact-intro .eyebrow{color:var(--ark-beige);margin-bottom:30px}.contact-intro h2{font-size:clamp(48px,6vw,82px)}.contact-intro dl{margin-top:70px;border-top:1px solid var(--ark-line-dark)}
.contact-intro dl>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--ark-line-dark)}.contact-intro dt{font-family:var(--ark-serif);font-size:13px;color:rgba(255,255,255,.45)}.contact-intro dd{font-size:13px}
.reservation-note{margin-top:30px;padding:22px;border:1px solid var(--ark-line-dark);background:transparent}.reservation-note strong{font-size:13px;font-weight:400;color:var(--ark-beige)}.reservation-note p{margin-top:7px;font-size:12px;color:rgba(255,255,255,.55)}
.contact-form{padding:4px 0 0;background:transparent;border:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;margin-bottom:28px}.contact-form label>span{display:block;margin-bottom:9px;font-size:11px;color:rgba(255,255,255,.55)}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ark-line-dark);border-radius:0;background:transparent;color:#fff;padding:13px 0;outline:0;font-size:14px}.contact-form textarea{min-height:140px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ark-beige)}
.contact-form .agree{display:flex;gap:10px;align-items:flex-start}.contact-form .agree input{width:16px;height:16px;margin-top:3px;accent-color:var(--ark-beige)}.contact-form .agree span{margin:0}
.submit-button{width:100%;padding:19px 24px;border:1px solid var(--ark-beige);border-radius:0;background:var(--ark-beige);color:var(--ark-black);display:flex;justify-content:space-between;cursor:pointer;transition:background .2s,color .2s}.submit-button:hover{background:transparent;color:var(--ark-paper)}
.form-message{display:none;margin-top:14px;font-size:13px}.form-message.show{display:block}.form-message.error{color:#e7a8a1}.form-message.success{color:var(--ark-beige)}
.contact-map{grid-column:1/-1;height:430px;margin-top:20px;filter:none}.sf-map,.sf-map-embed{width:100%;height:100%}.sf-map{position:relative}.sf-map-links{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;gap:7px}.sf-map-links a{padding:9px 13px;background:var(--ark-paper);color:var(--ark-black);font-size:11px}

.site-footer{padding:45px var(--ark-pad);background:#0b0b0b;color:rgba(255,255,255,.6);display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;border-top:1px solid var(--ark-line-dark);font-size:12px}
.footer-brand{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.footer-brand img{grid-row:1/3;filter:grayscale(1) brightness(0) invert(1)}.footer-brand strong{font-family:var(--ark-serif);font-size:20px;font-weight:400;color:#fff}.footer-brand span{font-family:var(--ark-serif);font-size:9px;letter-spacing:.12em}.footer-info{line-height:1.8}.footer-end{text-align:right}.footer-end a{color:#fff}.footer-end p{margin-top:12px}
.floating-contact{right:18px;bottom:18px;background:var(--ark-paper);border:1px solid var(--ark-line);box-shadow:0 12px 36px rgba(0,0,0,.15)}.floating-contact a{color:var(--ark-black)}.floating-contact a:first-child span,.floating-contact a:first-child strong{color:var(--ark-black)}.floating-contact a:last-child{background:var(--ark-black);color:#fff}

@media(prefers-reduced-motion:no-preference){.hero{animation:ark-settle 16s cubic-bezier(.2,.7,.2,1) both}@keyframes ark-settle{from{background-size:auto 108%}to{background-size:auto 100%}}}

@media(max-width:980px){
  :root{--ark-rail:0px}main,.site-footer{margin-left:0}
  .site-header,.site-header.scrolled{inset:0 0 auto;width:auto;height:68px;padding:0 22px;flex-direction:row;background:rgba(243,239,231,.94);border-right:0;border-bottom:1px solid var(--ark-line)}
  .brand{position:absolute!important;left:22px;top:17px;display:flex!important;flex-direction:row!important;width:auto!important;height:auto!important;writing-mode:horizontal-tb!important;transform:none!important;color:var(--ark-black)!important;font-size:18px}.brand img{width:32px;height:32px}.brand span{display:block!important;color:var(--ark-black)!important}.menu-toggle{display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;right:12px!important;top:13px!important;z-index:1001!important;border:0;background:transparent!important;width:58px;height:42px;padding:10px 6px;cursor:pointer;color:var(--ark-black)!important}.menu-toggle::after{content:'MENU';display:block!important;font-family:var(--ark-serif);font-size:11px;letter-spacing:.12em;color:var(--ark-black)}.menu-toggle span{display:none!important}
  .site-nav{display:none;position:fixed;inset:68px 0 0;background:var(--ark-warm);padding:50px 28px;align-items:flex-start;gap:0}.site-nav.open{display:flex}.site-nav a,.site-nav .nav-contact{width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--ark-line);background:none;font-size:clamp(30px,7vw,46px);color:var(--ark-black);text-align:left}
  .hero{min-height:100svh;padding-top:68px}.hero::after{inset:84px 16px 16px}.hero-desc{left:30px;bottom:34px;max-width:330px}.hero-actions{right:26px;bottom:32px}
  .section-heading{grid-template-columns:1fr;gap:22px}.about blockquote{min-height:560px}.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-collab{grid-template-columns:1fr;align-content:end}.contact{grid-template-columns:1fr}.contact-map{grid-column:1}
}

@media(max-width:680px){
  :root{--ark-pad:22px}body{padding-bottom:56px}.hero{background-position:center;padding-left:18px;padding-right:18px}.hero::after{display:none}.hero-copy{max-width:calc(100vw - 44px);padding-left:0;padding-right:0}.hero h1{font-size:36px;line-height:1.18;letter-spacing:-.05em}.hero-desc{left:22px;right:22px;bottom:78px;font-size:11px}.hero-actions{left:22px;right:auto;bottom:26px}
  .manifesto{padding:100px 22px}.manifesto p{font-size:34px}.projects,.about,.strengths,.services,.process,.faq{padding:86px 22px}.section-heading{margin-bottom:48px;padding-bottom:24px}.section-heading h2{font-size:34px;line-height:1.4}.tile-copy h2,.contact-intro h2{font-size:41px;line-height:1.28}
  .project-grid{display:block}.project-card,.project-card:nth-child(n){margin:0 0 58px}.project-image,.project-card:nth-child(n) .project-image{aspect-ratio:4/3}
  .about-layout{grid-template-columns:1fr}.about blockquote{order:1;min-height:0;aspect-ratio:4/5}.about-copy{order:2;padding-top:20px}.about-copy .lead{font-size:31px}.about blockquote p{font-size:27px}
  .strength-grid{grid-template-columns:1fr}.strength-card{min-height:260px}.strength-card h3{margin-top:42px}
  .service-item{grid-template-columns:54px 1fr;gap:15px 12px;padding:24px 0}.service-item p{grid-column:2}.process-step{grid-template-columns:1fr;gap:10px;padding:24px 0}.process-step p{grid-column:1}.service-item:hover{padding-left:0;padding-right:0;background:transparent}
  .tile-collab{min-height:80vh;padding:78px 22px}.tile-mark{font-size:78px}.faq-list{margin:0}.faq-item summary{grid-template-columns:32px 1fr 24px;font-size:15px}.faq-answer{grid-template-columns:32px 1fr;padding-right:0}
  .contact{padding:84px 22px}.contact-intro dl{margin-top:45px}.contact-intro dl>div{grid-template-columns:75px 1fr}.field-row{grid-template-columns:1fr;gap:0}.contact-map{height:320px}
  .site-footer{grid-template-columns:1fr;gap:26px;padding:40px 22px}.footer-end{text-align:left}
}

