
@font-face { font-family: "NanumSquareNeo"; src: url("../fonts/NanumSquareNeo-Variable.ttf") format("truetype"); font-weight: 100 900; font-display: swap; }

:root { --ink:#1d2822; --moss:#526c5b; --clay:#b8795b; --cream:#f6f3ed; --line:rgba(29,40,34,.15); --muted:#727a74; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#e4e6e0; color:var(--ink); font-family:"NanumSquareNeo", Arial, sans-serif; font-weight:450; }
main { width:100%; background:var(--cream); }
@media (min-width:1441px) {
  main { max-width:1440px; margin-inline:auto; box-shadow:0 0 38px rgba(29,40,34,.12); }
}
a { color:inherit; text-decoration:none; }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px, 5vw, 84px); background:var(--cream); position:relative; z-index:5; }
.wordmark,.footer-mark { font-size:21px; font-weight:850; line-height:.75; letter-spacing:-1.4px; display:grid; grid-template-columns:auto auto; width:max-content; position:relative; }
.wordmark img { display:block; width:172px; height:auto; }
.wordmark span:nth-child(2),.footer-mark span { color:var(--moss); }
.wordmark small,.footer-mark small { grid-column:1 / -1; margin-top:8px; font-size:7px; letter-spacing:2.45px; font-weight:750; }
nav { display:flex; gap:clamp(16px,2.7vw,43px); font-size:11px; font-weight:750; letter-spacing:1.15px; }
nav a:hover,.text-link:hover { color:var(--clay); }
.header-call { border:1px solid var(--ink); padding:12px 18px; border-radius:100px; font-size:12px; font-weight:750; }
.mobile-menu { display:none; }
.hero { min-height:calc(100svh - 92px); position:relative; overflow:hidden; background:#cfcdc2; color:#fff; display:flex; align-items:flex-end; padding:clamp(40px,7vw,112px) clamp(24px, 8vw, 128px); }
.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,26,20,.57) 0%,rgba(16,26,20,.23) 44%,rgba(16,26,20,.06) 75%),linear-gradient(0deg,rgba(10,17,13,.38),transparent 40%); }
.hero-copy { position:relative; z-index:1; }
.eyebrow { margin:0 0 20px; font-size:11px; font-weight:780; letter-spacing:1.7px; line-height:1.5; }
.eyebrow.moss,.moss { color:var(--moss); }
.hero h1 { margin:0; font-size:clamp(47px,6.65vw,105px); line-height:1.05; letter-spacing:-.082em; font-weight:400; }
.hero h1 strong { font-weight:790; }
.hero-description { margin:32px 0 37px; font-size:15px; line-height:1.8; }
.hero-actions { display:flex; align-items:center; gap:27px; }
.button { display:inline-flex; gap:32px; align-items:center; padding:16px 19px 16px 23px; background:#fff; border-radius:100px; font-size:13px; font-weight:750; }
.button-dark { color:var(--ink); }.button span { font-size:19px; }
.text-link { display:inline-flex; gap:11px; align-items:center; border-bottom:1px solid currentColor; padding-bottom:5px; font-size:13px; font-weight:720; }
.hero-note,.hero-scroll { position:absolute; z-index:1; bottom:32px; font-size:9px; letter-spacing:1.3px; opacity:.85; }.hero-note { right:clamp(24px,5vw,80px); }.hero-scroll { left:clamp(24px,5vw,80px); writing-mode:vertical-rl; display:flex; gap:8px; align-items:center; }
.section { padding:clamp(88px,12vw,180px) clamp(24px, 8vw, 128px); }
.intro { background:#fff; }.intro-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(40px,9vw,165px); align-items:end; }.intro h2,.section-heading h2,.projects h2,.contact h2 { margin:0; font-size:clamp(39px,5.05vw,77px); font-weight:490; line-height:1.15; letter-spacing:-.07em; }.intro h2 em { color:var(--moss); font-style:normal; font-weight:780; }.intro-body { max-width:440px; }.intro-body p { font-size:16px; line-height:1.95; margin:0 0 22px; color:#48534c; }.intro-body .text-link { margin-top:15px; }
.services { background:var(--cream); }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; }.service-list { margin-top:80px; border-top:1px solid var(--line); }.service-item { position:relative; display:grid; grid-template-columns:84px 1fr 1.1fr 30px; gap:20px; align-items:center; padding:32px 0; border-bottom:1px solid var(--line); transition:padding .25s ease,color .25s ease; }.service-item:hover { padding-left:15px; color:var(--moss); }.service-item span { color:var(--clay); font-size:12px; font-weight:750; }.service-item h3 { margin:0; font-size:24px; letter-spacing:-.07em; }.service-item p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }.service-item i { font-size:20px; font-style:normal; }
.projects { background:var(--moss); color:#fff; }.projects-head { display:flex; justify-content:space-between; gap:30px; align-items:end; }.projects-head .eyebrow { color:#d4ddd4; }.projects-head>p { margin:0; font-size:13px; line-height:1.8; color:#e1e9e2; }.project-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:22px; margin-top:80px; }.project-card { min-width:0; }.project-card:first-child { margin-top:70px; }.project-image { overflow:hidden; aspect-ratio:4/5; background:#304a3a; }.project-card:first-child .project-image { aspect-ratio:4/4.85; }.project-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }.project-card:hover img { transform:scale(1.04); }.project-card p { color:#cfddcf; margin:20px 0 9px; font-size:10px; font-weight:750; letter-spacing:1.25px; }.project-card h3 { margin:0; font-size:21px; letter-spacing:-.06em; }.project-card span { border-bottom:1px solid rgba(255,255,255,.55); padding:11px 0 7px; display:flex; justify-content:space-between; margin-top:15px; font-size:12px; color:#e4eee4; }.project-card b { font-size:16px; }
.process { background:#fff; }.process ol { margin:80px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); }.process li { padding:0 30px 0 0; min-height:220px; border-top:1px solid var(--line); }.process li+li { border-left:1px solid var(--line); padding-left:30px; }.process li>span { display:block; padding:22px 0 48px; color:var(--clay); font-size:12px; font-weight:780; }.process h3 { margin:0 0 12px; font-size:21px; letter-spacing:-.05em; }.process p { margin:0; font-size:14px; line-height:1.75; color:var(--muted); }
.contact { padding:clamp(85px,11vw,170px) clamp(24px,8vw,128px); background:var(--ink); color:#fff; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(44px,9vw,150px); }.contact .eyebrow { color:#becdc0; }.contact h2 { color:#fff; }.contact-phone { display:block; margin-top:55px; font-size:clamp(31px,4vw,58px); font-weight:720; letter-spacing:-.07em; }.contact-note { margin:20px 0 0; font-size:14px; line-height:1.8; color:#c8d0c9; }.location-card { background:#f2eee7; color:var(--ink); position:relative; overflow:hidden; padding:46px 42px; min-height:382px; display:flex; flex-direction:column; justify-content:flex-end; }.location-card h3 { margin:0; font-size:20px; font-weight:620; line-height:1.55; letter-spacing:-.055em; position:relative; }.location-links { position:relative; display:flex; gap:14px; margin-top:26px; }.location-links a { background:var(--ink); color:#fff; font-size:12px; font-weight:700; padding:12px 15px; border-radius:2px; }.location-links span { margin-left:12px; }.map-help { position:relative; margin:23px 0 0; color:#596159; line-height:1.65; font-size:11px; }.map-pattern { position:absolute; inset:0; opacity:.6; background:linear-gradient(120deg,transparent 0 35%,#d4ded2 35.2% 36%,transparent 36.2%),linear-gradient(10deg,transparent 0 57%,#d8c6b9 57.2% 58%,transparent 58.2%),linear-gradient(90deg,transparent 0 73%,#cbd8ca 73.2% 74%,transparent 74.2%); }.map-pattern span { position:absolute; width:10px; height:10px; background:var(--clay); border-radius:50%; }.map-pattern span:nth-child(1){top:28%;left:52%;}.map-pattern span:nth-child(2){top:54%;left:30%;background:var(--moss);}.map-pattern span:nth-child(3){top:20%;right:19%;background:var(--moss);}
footer { min-height:145px; padding:35px clamp(24px,5vw,84px); background:var(--ink); color:#d5dfd6; border-top:1px solid rgba(255,255,255,.16); display:flex; align-items:center; gap:clamp(28px,7vw,110px); }footer .footer-mark { color:#fff; font-size:18px; flex:0 0 auto; } .footer-info p,.footer-side p { margin:0 0 7px; font-size:10px; letter-spacing:.25px; line-height:1.55; }.footer-info b { color:#fff;font-weight:750; }.footer-info i { margin:0 5px;font-style:normal;color:#849188; }.footer-info a { border-bottom:1px solid rgba(255,255,255,.5); }.footer-side { margin-left:auto; text-align:right; }.footer-side>a { display:inline-block; margin-bottom:20px; font-size:10px; letter-spacing:.8px; border-bottom:1px solid currentColor; padding-bottom:4px; }
.mobile-actions { display:none; }
.subpage-hero { min-height:310px; padding:clamp(72px,9vw,130px) clamp(24px,8vw,128px); background:var(--ink); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; }
.subpage-hero.has-image { background-image:linear-gradient(90deg,rgba(19,29,24,.82) 0%,rgba(19,29,24,.53) 52%,rgba(19,29,24,.2) 100%),var(--page-image); background-size:cover; background-position:center; }
.subpage-hero.studio-hero { min-height:480px; background-image:linear-gradient(90deg,rgba(19,29,24,.68) 0%,rgba(19,29,24,.34) 55%,rgba(19,29,24,.1) 100%),var(--page-image); background-position:center 55%; }
.subpage-hero .eyebrow { color:#c5d4c7; }.subpage-hero h1 { margin:0; font-size:clamp(46px,6vw,82px); line-height:1.08; letter-spacing:-.075em; font-weight:550; }.subpage-hero p:last-child { max-width:570px; margin:24px 0 0; color:#d5dfd6; font-size:15px; line-height:1.8; }
.subpage-content { padding:clamp(72px,9vw,130px) clamp(24px,8vw,128px); background:#fff; }.subpage-content.cream { background:var(--cream); }.subpage-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(42px,9vw,150px); }.subpage-grid h2,.subpage-content h2 { margin:0; font-size:clamp(30px,4vw,56px); line-height:1.2; letter-spacing:-.07em; }.subpage-grid p,.subpage-content .body-copy { margin:0; color:#546058; font-size:16px; line-height:2; }.subpage-grid p+p { margin-top:18px; }
.detail-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.detail-list li { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--line); }.detail-list b { font-size:14px; }.detail-list span { color:var(--muted); font-size:14px; line-height:1.75; }
.project-list { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.project-list a { display:block; }.project-list img { display:block; width:100%; aspect-ratio:4/4.6; object-fit:cover; }.project-list small { display:block; margin-top:16px; color:var(--moss); font-size:10px; letter-spacing:1.4px; font-weight:800; }.project-list h3 { margin:9px 0 0; font-size:20px; letter-spacing:-.055em; }.project-list p { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.7; }
.portfolio-grid { display:grid; grid-template-columns:1.25fr .9fr .9fr; gap:22px; align-items:start; }.portfolio-grid a { display:block; }.portfolio-grid a:nth-child(1) { grid-row:span 2; }.portfolio-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.portfolio-grid a:nth-child(1) img { aspect-ratio:4/5.25; }.portfolio-grid small { display:block; margin-top:14px; color:var(--moss); font-size:10px; letter-spacing:1.4px; font-weight:800; }.portfolio-grid h3 { margin:8px 0 0; font-size:20px; letter-spacing:-.055em; }.portfolio-grid p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.process-detail { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.process-detail article { min-height:260px; padding:28px 30px 28px 0; }.process-detail article+article { border-left:1px solid var(--line); padding-left:30px; }.process-detail span { color:var(--clay); font-weight:800; font-size:12px; }.process-detail h3 { margin:52px 0 13px; font-size:22px; letter-spacing:-.055em; }.process-detail p { margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.contact-detail { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.contact-detail .contact-phone { color:var(--ink); margin-top:0; }.contact-detail .location-card { min-height:310px; }.page-footer { padding-bottom:50px; }
@media (max-width:760px) { .site-header{height:74px;padding:0 20px}.wordmark img{width:143px}nav,.header-call{display:none}.mobile-menu{display:block;position:relative;font-size:11px;font-weight:800;letter-spacing:1px}.mobile-menu summary{list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:6px;font-size:16px}.mobile-menu[open] summary span{display:inline-block;transform:rotate(45deg)}.mobile-menu>div{position:absolute;right:-20px;top:38px;width:190px;padding:13px 20px;background:var(--ink);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16)}.mobile-menu a:last-child{border:0}.hero{min-height:calc(100svh - 74px);padding:35px 24px 76px}.hero h1{font-size:49px}.hero-description{font-size:13px;margin:25px 0 29px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-note{display:none}.hero-scroll{left:auto;right:22px;bottom:27px}.section{padding:85px 24px}.intro-grid,.contact{grid-template-columns:1fr;gap:45px}.intro h2,.section-heading h2,.projects h2,.contact h2{font-size:42px}.intro-body p{font-size:14px}.section-heading{display:block}.service-list{margin-top:50px}.service-item{grid-template-columns:37px 1fr 24px;gap:13px;padding:25px 0}.service-item p{display:none}.service-item h3{font-size:20px}.projects-head{display:block}.projects-head>p{margin-top:22px;font-size:12px}.project-grid{grid-template-columns:1fr;gap:49px;margin-top:52px}.project-card:first-child{margin-top:0}.project-image,.project-card:first-child .project-image{aspect-ratio:4/4}.process ol{grid-template-columns:1fr;margin-top:52px}.process li{min-height:0;padding:0 0 30px}.process li+li{border-left:0;padding-left:0}.process li>span{padding:20px 0 20px}.contact{padding:82px 24px 60px}.contact-phone{margin-top:38px;font-size:35px}.location-card{min-height:350px;padding:32px 28px}footer{padding:32px 24px 100px;display:block}.footer-info{margin-top:25px}.footer-side{margin:28px 0 0;text-align:left}.footer-side>a{margin-bottom:15px}.footer-side p{margin:0}.mobile-actions{position:fixed;z-index:9;bottom:0;left:0;right:0;background:#fff;display:grid;grid-template-columns:1fr 1.25fr;box-shadow:0 -4px 18px rgba(0,0,0,.12)}.mobile-actions a{padding:17px 10px;text-align:center;font-size:12px;font-weight:800}.mobile-actions a+ a{background:var(--moss);color:#fff}.hero>img{object-position:62% center;} }
@media (max-width:760px) { .subpage-hero{min-height:270px;padding:68px 24px}.subpage-hero.studio-hero{min-height:385px;background-position:center}.subpage-hero h1{font-size:44px}.subpage-hero p:last-child{font-size:13px}.subpage-content{padding:72px 24px}.subpage-grid,.contact-detail{grid-template-columns:1fr;gap:35px}.subpage-grid p,.subpage-content .body-copy{font-size:14px}.detail-list li{grid-template-columns:1fr;gap:9px;padding:21px 0}.project-list,.portfolio-grid,.process-detail{grid-template-columns:1fr;gap:36px}.project-list img,.portfolio-grid img,.portfolio-grid a:nth-child(1) img{aspect-ratio:4/4}.process-detail article{min-height:0;padding:23px 0 29px}.process-detail article+article{border-left:0;padding-left:0}.process-detail h3{margin-top:28px}.page-footer{padding-bottom:100px;} }
.subpage-visual { margin:clamp(50px,7vw,96px) 0 0; overflow:hidden; background:var(--cream); }.subpage-visual img { display:block; width:100%; max-height:620px; object-fit:cover; }.subpage-visual figcaption { padding:15px 0 0; color:var(--muted); font-size:11px; letter-spacing:.65px; }
.studio-gallery { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:16px; margin-top:54px; }.studio-gallery img { display:block; width:100%; height:100%; min-height:210px; object-fit:cover; }.studio-gallery figure { margin:0; overflow:hidden; }.studio-gallery figure:first-child { grid-row:span 2; }.studio-gallery figure:first-child img { min-height:436px; }.studio-gallery figure:nth-child(4) { grid-column:span 2; }.studio-gallery figure:nth-child(4) img { min-height:248px; }
@media (max-width:760px) { .subpage-visual{margin-top:45px}.subpage-visual img{max-height:none;aspect-ratio:4/3;object-fit:cover} }
@media (max-width:760px) { .studio-gallery{grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.studio-gallery img,.studio-gallery figure:first-child img,.studio-gallery figure:nth-child(4) img{min-height:0;aspect-ratio:1/1;object-fit:cover}.studio-gallery figure:first-child{grid-row:span 1;grid-column:span 2}.studio-gallery figure:first-child img{aspect-ratio:4/3}.studio-gallery figure:nth-child(4){grid-column:span 1} }
.english-heading { letter-spacing:-.045em !important; font-size:clamp(38px,4vw,58px) !important; }
.service-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:54px; }.service-gallery figure { margin:0; overflow:hidden; background:#d9ddd5; }.service-gallery figure:nth-child(1),.service-gallery figure:nth-child(4) { margin-top:44px; }.service-gallery img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }.service-gallery figcaption { padding-top:12px; color:var(--muted); font-size:10px; letter-spacing:1px; }
@media (max-width:760px) { .service-gallery{grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.service-gallery figure:nth-child(1),.service-gallery figure:nth-child(4){margin-top:0}.service-gallery img{aspect-ratio:1/1} }
.consultation-form { margin-top:54px; padding:clamp(26px,4vw,46px); background:var(--cream); }.consultation-form .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.consultation-form label { display:block; font-size:12px; font-weight:800; }.consultation-form input,.consultation-form select,.consultation-form textarea { width:100%; margin-top:9px; padding:14px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); font:inherit; font-size:15px; outline:0; }.consultation-form textarea { min-height:100px; resize:vertical; }.consultation-form .form-full { grid-column:1/-1; }.consultation-form .form-consent { display:flex; gap:9px; align-items:flex-start; margin-top:25px; color:var(--muted); font-size:12px; line-height:1.6; }.consultation-form .form-consent input { width:auto; margin:3px 0 0; }.consultation-form button { margin-top:25px; border:0; background:var(--ink); color:#fff; padding:16px 22px; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }.consultation-form .form-help { margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
@media (max-width:760px) { .consultation-form{margin-top:35px;padding:26px 20px}.consultation-form .form-grid{grid-template-columns:1fr;gap:17px}.consultation-form .form-full{grid-column:auto} }

/* OPTION 02 layout with OPTION 01 palette */
.hero-option2 { align-items:flex-end; }
.hero-slides { position:absolute; inset:0; }
.hero-slides img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transform:scale(1.035); transition:opacity 1.25s ease,transform 6.4s ease; }
.hero-slides img.is-active { opacity:1; transform:scale(1); }
.hero h1 { max-width:780px; font-size:clamp(52px,7vw,109px); line-height:.98; }
.hero h1 strong { font-weight:820; }
.hero-shade { background:linear-gradient(90deg,rgba(16,26,20,.66) 0%,rgba(16,26,20,.34) 48%,rgba(16,26,20,.08) 78%),linear-gradient(0deg,rgba(10,17,13,.42),transparent 42%); }
.hero-slide-status { position:absolute; z-index:1; right:clamp(24px,5vw,80px); bottom:35px; display:flex; align-items:center; gap:10px; color:#f4f1eb; font-size:10px; font-weight:800; letter-spacing:1.1px; }
.hero-slide-status i { display:block; width:54px; height:1px; background:rgba(255,255,255,.58); }
@media (max-width:760px) { .hero h1{font-size:54px}.hero-slides img{object-position:center}.hero-slide-status{right:22px;bottom:27px}.hero-scroll{display:none} }

/* OPTION 01 · warm beige palette */
:root { --ink:#20251f; --moss:#55685b; --clay:#b8795b; --cream:#f4f0e8; --line:rgba(49,53,46,.16); --muted:#6b726b; }
body { background:#dfd9cf; color:var(--ink); }
main { background:#f4f0e8; }
.site-header { background:#f4f0e8; }
.intro,.subpage-content { background:#fbfaf7; }
.services,.subpage-content.cream { background:#f4f0e8; }
.intro-body p,.subpage-grid p,.subpage-content .body-copy { color:#4f5951; }
.projects { background:#52665a; }
.projects-head .eyebrow { color:#dce5dc; }
.projects-head>p { color:#e5ebe5; }
.project-card p { color:#d7e2d8; }
.project-card span { color:#e9efe9; }
.contact { background:#20251f; }
.location-card { background:#eee8de; }
.consultation-form { background:#eee9df; }
.mobile-actions { background:#fbfaf7; }
@media (min-width:1441px) { main { box-shadow:0 0 38px rgba(50,43,35,.14); } }

/* Warm beige correction: remove all green cast */
:root { --ink:#2c2824; --moss:#786b60; --clay:#b8795b; --cream:#f5f0e8; --line:rgba(67,58,51,.17); --muted:#746b63; }
body { background:#e4dcd1; color:var(--ink); }
main { background:#f5f0e8; }
.site-header { background:#f5f0e8; }
.eyebrow.moss,.moss { color:#786b60; }
.hero { color:#2c2824; }
.hero-shade { background:linear-gradient(90deg,rgba(245,240,232,.90) 0%,rgba(245,240,232,.64) 48%,rgba(245,240,232,.18) 82%),linear-gradient(0deg,rgba(208,193,176,.26),transparent 42%); }
.hero-description { color:#514942; }
.button { background:#2c2824; color:#f8f4ed; }
.button:hover { background:#b8795b; }
.hero-slide-status,.hero-scroll { color:#514942; }
.hero-slide-status i { background:rgba(81,73,66,.52); }
.intro,.subpage-content { background:#fcfaf6; }
.services,.subpage-content.cream { background:#f5f0e8; }
.intro-body p,.subpage-grid p,.subpage-content .body-copy { color:#5c544d; }
.projects { background:#6a5e54; }
.projects-head .eyebrow { color:#eee5da; }
.projects-head>p,.project-card span { color:#f4ede5; }
.project-card p { color:#e5d8ca; }
.contact { background:#2c2824; }
.location-card { background:#efe6d9; }
.map-pattern { opacity:.45; }
.map-pattern span:nth-child(2),.map-pattern span:nth-child(3) { background:#9d8673; }
.location-links a { background:#2c2824; }
footer { background:#25211e; }
.consultation-form { background:#efe6d9; }
.mobile-actions a+a { background:#786b60; }

/* Portfolio category archive */
.portfolio-index { padding:clamp(72px,9vw,130px) clamp(24px,8vw,128px); background:#fcfaf6; }
.portfolio-index-head { display:grid; grid-template-columns:1fr .72fr; gap:clamp(42px,9vw,150px); align-items:end; }
.portfolio-index h2,.portfolio-group h2 { margin:0; font-size:clamp(34px,4.5vw,64px); line-height:1.1; letter-spacing:-.075em; }
.portfolio-index-head>p { max-width:455px; margin:0; color:#5c544d; font-size:15px; line-height:1.9; }
.portfolio-category-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:clamp(45px,7vw,90px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.portfolio-category-nav a { display:flex; align-items:center; gap:12px; min-height:78px; padding:18px 20px; font-size:11px; font-weight:800; letter-spacing:.7px; border-right:1px solid var(--line); transition:background .2s ease,color .2s ease; }
.portfolio-category-nav a:last-child { border-right:0; }
.portfolio-category-nav a:hover { background:#efe6d9; color:#b8795b; }
.portfolio-category-nav span,.group-number { color:#b8795b; font-size:12px; font-weight:850; letter-spacing:1px; }
.portfolio-group { padding:clamp(76px,10vw,145px) clamp(24px,8vw,128px); background:#f5f0e8; }
.portfolio-group-tint { background:#efe6d9; }
.portfolio-group-head { display:grid; grid-template-columns:80px 1fr .7fr; gap:clamp(24px,4vw,64px); align-items:end; margin-bottom:clamp(48px,7vw,86px); }
.group-number { align-self:start; padding-top:7px; }
.portfolio-group-head .eyebrow { margin-bottom:13px; }
.portfolio-group-head>p:last-child { max-width:370px; margin:0 0 5px; color:#5c544d; font-size:14px; line-height:1.85; }
.portfolio-category-grid { display:grid; grid-template-columns:1.18fr .91fr .91fr; gap:clamp(14px,2vw,26px); align-items:start; }
.portfolio-category-card { display:block; min-width:0; }
.portfolio-category-card.feature { margin-top:52px; }
.portfolio-category-card img { display:block; width:100%; aspect-ratio:4/4.7; object-fit:cover; transition:transform .45s ease; }
.portfolio-category-card:not(.feature) img { aspect-ratio:4/3.35; }
.portfolio-category-card:hover img { transform:scale(1.025); }
.portfolio-category-card { overflow:hidden; }
.portfolio-category-card small { display:block; margin-top:18px; color:#786b60; font-size:10px; font-weight:850; letter-spacing:1.3px; }
.portfolio-category-card h3 { margin:9px 0 0; font-size:clamp(18px,1.7vw,24px); letter-spacing:-.06em; }
.portfolio-category-card span { display:block; margin-top:13px; padding-bottom:7px; border-bottom:1px solid rgba(44,40,36,.34); color:#5c544d; font-size:11px; font-weight:750; }
.portfolio-more { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:clamp(48px,7vw,86px) clamp(24px,8vw,128px); background:#fcfaf6; }
.portfolio-more p { max-width:600px; margin:0; color:#5c544d; font-size:14px; line-height:1.8; }
.portfolio-more .button { white-space:nowrap; }
@media (max-width:760px) { .portfolio-index{padding:72px 24px}.portfolio-index-head,.portfolio-group-head{grid-template-columns:1fr;gap:24px}.portfolio-index-head>p,.portfolio-group-head>p:last-child{font-size:14px}.portfolio-category-nav{grid-template-columns:1fr}.portfolio-category-nav a{min-height:63px;border-right:0;border-bottom:1px solid var(--line)}.portfolio-category-nav a:last-child{border-bottom:0}.portfolio-group{padding:76px 24px}.portfolio-group-head{margin-bottom:42px}.portfolio-category-grid{grid-template-columns:1fr;gap:38px}.portfolio-category-card.feature{margin-top:0}.portfolio-category-card img,.portfolio-category-card:not(.feature) img{aspect-ratio:4/3}.portfolio-more{align-items:flex-start;flex-direction:column;padding:52px 24px}.portfolio-more .button{white-space:normal} }
