/* KARAHAN studio: image-led layouts, quiet typography and warm paper. */
:root{--paper:#f3f0e6;--soft:#eae6db;--ink:#343530;--muted:#68685f;--line:#d3cfc3;--accent:#877d69;--dark:#292c29}
body{font-size:15px;line-height:1.75}html{scroll-padding-top:30px}.wrap{width:calc(100% - 96px);max-width:1480px}h2{font-size:clamp(30px,3.1vw,44px);letter-spacing:-.6px;line-height:1.2}h3{line-height:1.3}.eyebrow{font-size:10px;letter-spacing:2.2px}.section{padding:105px 0}.section-top{display:block;text-align:center;max-width:690px;margin:0 auto 60px}.section-top h2{max-width:none;margin:20px 0}.section-top>p{max-width:580px;margin:auto;font-size:13px;line-height:1.9}
/* A permanent white navigation band keeps the studio identity in view. */
body{padding-top:98px}html{scroll-padding-top:120px}.header,.page-home .header,.page-inner .header{position:fixed;inset:0 0 auto;height:98px;z-index:100;background:#fff;color:var(--ink);border-bottom:1px solid #e8e6e0;transition:height .25s ease,box-shadow .25s ease}.header-inner{height:100%;gap:28px}.brand,.brand img{width:210px}.brand{flex-shrink:0;transition:width .25s ease}.brand img{transition:width .25s ease}.page-home .header .brand img{filter:brightness(0)}.header .nav{gap:25px;font-size:12px;line-height:1.4;letter-spacing:.1px}.header .nav>a{white-space:nowrap}.header .nav>a:not(.button){padding:14px 0;position:relative}.header .nav>a:not(.button):after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.header .nav>a:not(.button):hover:after{transform:scaleX(1)}.page-home .header .nav>a:hover{color:var(--accent);opacity:1}.header .nav .button{padding:12px 17px;min-height:44px;gap:17px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:11px;letter-spacing:.1px}.header .nav .button:hover{background:#56594f;border-color:#56594f;color:white}.menu-toggle{display:none;border:1px solid #d7d5cb;background:transparent;padding:10px 14px;font-size:11px;letter-spacing:.5px}.header.is-scrolled{height:78px;box-shadow:0 5px 24px #252a280d}.header.is-scrolled .brand,.header.is-scrolled .brand img{width:184px}
/* The opening balances the actual project render with a legible contact area. */
.hero{display:block;position:relative;isolation:isolate;height:calc(100svh - 98px);max-height:900px;min-height:660px;border:0;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;display:block;height:100%;min-height:0;margin:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151c19bc 0%,#151c1994 32%,#151c1938 63%,#151c190d),linear-gradient(0deg,#1018136e,transparent 38%);pointer-events:none}.hero-copy{position:absolute;left:max(48px,calc((100vw - 1480px)/2));bottom:115px;transform:none;width:min(700px,calc(100% - 96px));padding:0;display:flex;align-items:flex-start;text-align:left}.hero .eyebrow{color:#f2f0e7;font-size:10px;letter-spacing:3px;display:flex;align-items:center;gap:14px}.hero .eyebrow:before{content:'';display:block;width:35px;height:1px;background:#d2c9b5}.hero h1{margin:24px 0 24px;font-weight:400;letter-spacing:-1.5px;line-height:1.08}.hero h1 .hero-heading-context{display:block;color:#fff;font:400 clamp(48px,5vw,70px)/1.08 var(--serif);letter-spacing:-1.5px;text-transform:none;margin:0}.hero h1 .hero-heading-brand{display:block;color:#eee9df;font:400 17px/1.5 'DM Sans',sans-serif;letter-spacing:3px;margin-top:23px}.hero-copy p{color:#f2f1ec;font-size:14px;line-height:1.9;max-width:500px;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:14px;width:auto;max-width:none}.hero-actions .button{min-width:212px;min-height:67px;padding:13px 23px;gap:16px;font-size:14px;letter-spacing:0;border:1px solid #fff;border-radius:2px;transition:background .2s,color .2s,transform .2s}.hero-actions .hero-call{background:#fff;color:#30382f;box-shadow:0 5px 22px #00000014;white-space:nowrap}.hero-actions .hero-call:hover{background:#eee8dc;border-color:#eee8dc;color:#30382f;opacity:1;transform:translateY(-2px)}.hero-actions .hero-whatsapp{background:#26332bd9;color:#fff;border-color:#ffffffc9;white-space:nowrap}.hero-actions .hero-whatsapp:hover{background:#fff;color:#30382f;border-color:#fff;opacity:1;transform:translateY(-2px)}.hero-action-label{display:flex;flex-direction:column;gap:5px;text-align:left}.hero-action-label small{font:9px/1.2 'DM Sans',sans-serif;letter-spacing:1.7px;opacity:.75}.hero-action-label strong{font-size:15px;line-height:1.3;font-weight:400}.contact-icon{display:block;width:21px;height:21px;flex-shrink:0}.hero-actions .whatsapp-icon{width:25px;height:25px;color:inherit}.hero-project{position:absolute;right:48px;bottom:32px;text-align:right;font-size:9px;letter-spacing:1.8px;line-height:1.8}.hero-project span{display:block;font-size:10px;letter-spacing:.4px;color:#f0eee8}.hero-project:hover{text-decoration:underline;text-underline-offset:5px}.hero-project .icon-arrow{width:10px;height:10px}.hero-scroll{position:absolute;left:48px;bottom:34px;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:2.5px}.hero-scroll svg{width:12px;height:25px;stroke:currentColor;fill:none;stroke-width:1}
.hero-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.hero-services>a{min-height:90px;display:flex;align-items:center;gap:20px;padding:22px 28px;border-right:1px solid var(--line);font-size:12px;letter-spacing:.4px;transition:background .2s}.hero-services>a:first-child{padding-left:0}.hero-services>a:last-child{border:0}.hero-services>a:hover{background:var(--soft)}.hero-services .service-num{font-size:10px;letter-spacing:1px}.hero-services>a>span:last-child{margin-left:auto}
.architecture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 26px}.architecture-card{min-width:0;scroll-margin-top:30px}.architecture-card:nth-child(even){transform:none}.service-visual{display:block;position:relative;aspect-ratio:1.5;overflow:hidden;background:#e2ded3}.service-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.service-visual:hover img{transform:scale(1.025)}.service-visual.media-front img{position:absolute;max-width:none;width:210%;height:auto;left:-50.6%;top:-33.8%}.service-visual.media-plan img{position:absolute;max-width:none;width:200%;height:200%;left:-100%;top:0;object-fit:fill}.service-visual:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.visual-note{position:absolute;bottom:14px;left:16px;right:16px;color:#fff;font-size:9px;letter-spacing:.2px;z-index:1;text-shadow:0 1px 6px #000}.media-plan:after{display:none}.media-plan .visual-note{color:#625a4b;text-shadow:none;background:#f3f0e6ed;left:auto;right:10px;padding:4px 8px;bottom:10px}.architecture-card-body{padding:25px 3px 0}.architecture-card-body>.service-num{font-size:9px;letter-spacing:2px}.architecture-card h3{font-family:var(--serif);font-size:30px;letter-spacing:.2px;line-height:1.22;margin:15px 0}.architecture-card h3 br{display:none}.architecture-card p{max-width:510px;font-size:13px;line-height:1.9;margin:0 0 19px}.architecture-card .text-link{font-size:11px;gap:18px}.text-link{font-size:12px;gap:20px;padding-bottom:6px}.text-link .icon-arrow{width:12px;height:12px}
.earthworks{background:var(--dark);color:var(--paper);padding:100px 0 75px}.earthworks-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:44px}.earthworks .eyebrow{color:#c6c5ba}.earthworks h2{margin-top:20px;font-size:clamp(36px,3.8vw,54px);letter-spacing:-.4px;color:var(--paper)}.earthworks-top>p{max-width:420px;justify-self:end;color:#c8c8bd;font-size:13px}.earthworks-figure{margin:0}.earthworks-figure>img{width:100%;height:510px;object-fit:cover;object-position:50% 52%;filter:saturate(.6)}.earthworks-figure figcaption{margin-top:12px;color:#b3b8af;font-size:9px}.earthworks-figure figcaption a{text-decoration:underline;text-underline-offset:3px}.earthworks-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:42px}.earthworks-services article{border-top:1px solid #777c71;padding-top:20px;min-width:0}.earthworks .service-num{font-size:10px;color:#b9b5a6;letter-spacing:1.5px}.earthworks h3{font-family:var(--serif);font-size:27px;letter-spacing:.1px;line-height:1.2;margin:20px 0 18px}.earthworks-services p{color:#c8c8bd;font-size:12px;line-height:1.9;margin-bottom:20px}.earthworks .text-link{font-size:11px;color:var(--paper);gap:16px}.earthworks-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #62675d;padding-top:28px;margin-top:45px;gap:25px}.earthworks-bottom>span{font-size:9px;letter-spacing:2px;color:#b9bdb0}.earthworks-bottom .button{font-size:11px}
.button{font-size:12px;min-height:48px;letter-spacing:.2px;padding:13px 20px;gap:24px}.button:hover{background:#52564b;border-color:#52564b}.button.outline:hover{background:var(--soft)}.selector{background:var(--paper);border:0}.selector-grid{gap:80px}.selector h2{font-size:39px;margin:20px 0 24px}.selector .intro{font-size:13px}.need-options{gap:0;border-top:1px solid var(--line);margin-top:30px}.need-options legend{padding:0 0 15px;font-size:11px;letter-spacing:.7px}.need-option{border:0;border-bottom:1px solid var(--line);padding:18px 9px;font-size:12px;min-height:60px;gap:10px}.need-option:has(input:checked){background:var(--soft);color:var(--ink);border-color:var(--line)}.need-option input:checked{background:var(--ink);box-shadow:inset 0 0 0 4px var(--soft)}.recommendation{background:var(--soft);border:0;padding:45px}.recommendation h3{font-family:var(--serif);font-size:32px;margin:24px 0 20px}.recommendation p{font-size:13px;line-height:1.9}.recommendation .tip{font-size:12px}.recommendation .button{font-size:11px;justify-content:space-between}.project{grid-template-columns:1.4fr 1fr;gap:70px}.project-image{aspect-ratio:1.25;object-fit:cover;object-position:50% 50%}.project h2{font-size:40px;letter-spacing:-.4px}.project p{font-size:13px;line-height:1.9;max-width:400px}.project .image-note{font-size:9px}.tags{gap:7px}.tag{padding:5px 8px;font-size:8px;letter-spacing:.7px}.process{background:var(--soft);border:0}.steps{gap:35px}.step{border-color:#aaa99b}.step-number{font-size:23px;letter-spacing:1px;margin-bottom:23px}.step h3{font-family:var(--serif);font-size:23px;letter-spacing:0}.step p{font-size:12px;line-height:1.9}.office-story{border:0}.office-principles h3{font-size:27px;letter-spacing:0}.office-principles p{font-size:12px;line-height:1.9}.home-faq{background:var(--paper);border-color:var(--line)}.content-faq-grid{gap:85px}.content-faq-grid h2{font-size:38px}.home-faq .faq,.home-faq details{border-color:var(--line)}.home-faq summary{font-size:13px}.home-faq details p{font-size:12px!important}.contact-band{padding:90px 0;background:var(--soft);color:var(--ink);border-block:1px solid var(--line)}.contact-band .eyebrow{color:var(--muted)}.contact-band h2{font-size:46px}.contact-band p{font-size:13px;color:var(--muted)}.contact-band .button.light{background:transparent;border-color:var(--ink)}.contact-band .button.light:hover{background:var(--ink);color:var(--paper)}.phone-link{font-size:32px}.footer{background:var(--paper);padding-top:65px}.footer-grid{gap:70px}.footer-links{font-size:11px;gap:11px}.footer p{font-size:11px}.footer h3{font-size:10px;letter-spacing:2px}.footer-bottom{font-size:9px}
/* The same restrained hierarchy continues through the service pages. */
.page-inner .header{border-bottom:1px solid var(--line)}.breadcrumb{padding-top:30px;font-size:10px;letter-spacing:.5px}.page-heading{padding:65px 0 85px;gap:80px}.page-heading h1{font-size:clamp(44px,5.1vw,74px);line-height:1.12;letter-spacing:-1.5px}.page-heading p{font-size:14px;line-height:1.9}.article-grid{gap:85px}.article-content h2{font-size:32px;letter-spacing:-.4px;line-height:1.25}.article-content p{font-size:14px;line-height:1.9}.sticky-aside h2{font-size:29px}.article-content .service-case h3,.article-content .service-stages h3{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:0}.related{background:var(--soft)}.related-link{font-size:23px}.detail-row address{font-size:29px}.contact-note{background:var(--soft)}
@media(min-width:1700px){.hero-copy{bottom:140px}.hero h1 .hero-heading-context{font-size:76px}}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.header .nav{gap:18px;font-size:11px;letter-spacing:0}.brand,.brand img{width:185px}.hero-project{right:32px}.hero-scroll{left:32px}.project{gap:45px}.selector-grid{gap:45px}.earthworks-top{gap:45px}.earthworks-figure>img{height:420px}}
@media(max-width:1100px){body{padding-top:84px}.header,.page-home .header{height:84px}.header .menu-toggle{display:block;color:inherit}.header .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;color:var(--ink);padding:24px 32px 32px;border-bottom:1px solid var(--line);box-shadow:none;gap:0;font-size:13px;letter-spacing:.4px}.header .nav.open{display:flex}.header .nav>a:not(.button){padding:16px 0;border-bottom:1px solid var(--line)}.header .nav .button{font-size:12px;margin-top:22px;align-self:flex-start;padding:13px 18px}.page-home .header .nav>a:hover{color:var(--ink)}.hero{height:calc(100svh - 84px);min-height:650px}.hero-copy{left:32px;width:min(670px,calc(100% - 64px))}.earthworks-services{gap:28px}.earthworks h3{font-size:25px}.recommendation{padding:32px}.footer-grid{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding:70px 0}.brand,.brand img{width:176px}.header{height:78px}.header-inner{gap:20px}.header .nav{top:100%;padding:20px 20px 28px}body{padding-top:78px}.header,.page-home .header{height:78px}.header.is-scrolled{height:70px}.header.is-scrolled .brand,.header.is-scrolled .brand img{width:164px}.header .nav{top:100%;max-height:calc(100svh - 78px);overflow-y:auto}.header .menu-toggle{min-height:44px;padding:11px 14px}.hero{height:calc(100svh - 78px);min-height:650px;max-height:850px}.hero-media{height:100%;margin:0}.hero-media img{object-position:53% 40%}.hero:after{background:linear-gradient(0deg,#151c19ce 5%,#151c19a8 44%,#151c1933 75%,#151c190a)}.hero-copy{left:20px;bottom:105px;width:calc(100% - 40px);align-items:flex-start;text-align:left}.hero .eyebrow{font-size:9px;letter-spacing:2px;max-width:none;gap:12px}.hero .eyebrow:before{width:24px}.hero h1{margin:21px 0 21px;letter-spacing:-.9px}.hero h1 .hero-heading-context{font-size:43px;letter-spacing:-1px;line-height:1.1;margin:0}.hero h1 .hero-heading-brand{font-size:12px;letter-spacing:2.3px;line-height:1.5;margin-top:19px}.hero-copy p{font-size:12px;line-height:1.85;max-width:390px;margin-bottom:24px}.hero-actions{display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:10px;width:100%;max-width:430px}.hero-actions .button{min-width:0;min-height:65px;flex:1;padding:12px;gap:10px;justify-content:center;white-space:normal}.hero-action-label small{font-size:7px;letter-spacing:1.2px}.hero-action-label strong{font-size:12px;white-space:nowrap}.hero-actions .contact-icon{width:17px;height:17px}.hero-actions .whatsapp-icon{width:21px;height:21px}.hero-project{right:20px;bottom:28px;font-size:8px;letter-spacing:1.2px}.hero-project span{font-size:8px;letter-spacing:0}.hero-scroll{left:20px;bottom:27px;gap:11px;font-size:8px;letter-spacing:1.5px}.hero-scroll svg{width:10px;height:22px}html{scroll-padding-top:95px}.sticky-aside{top:100px}.hero-services{grid-template-columns:1fr}.hero-services>a,.hero-services>a:first-child{min-height:65px;padding:18px 0;border-right:0;border-bottom:1px solid var(--line);font-size:12px;gap:22px}.hero-services>a:last-child{border:0}.hero-services>a:hover{padding-inline:8px}.section-top{margin-bottom:35px;text-align:left}.section-top h2{font-size:33px;margin:18px 0}.section-top>p{font-size:12px;line-height:1.9}.eyebrow{font-size:9px;letter-spacing:1.6px}.architecture-grid{grid-template-columns:1fr;gap:42px}.architecture-card-body{padding:21px 0 0}.architecture-card h3{font-size:29px;margin:13px 0 15px}.architecture-card h3 br{display:none}.architecture-card p{font-size:12px;margin-bottom:17px}.architecture-card .text-link{font-size:10px;gap:15px}.visual-note{font-size:8px;left:12px;bottom:11px;right:12px}.media-plan .visual-note{font-size:7px;right:8px;bottom:8px}.earthworks{padding:70px 0 55px}.earthworks-top{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.earthworks h2{font-size:38px;line-height:1.15;margin-top:18px;letter-spacing:-.5px}.earthworks-top>p{justify-self:start;font-size:12px;max-width:none}.earthworks-figure>img{height:310px;object-position:56% 50%}.earthworks-figure figcaption{font-size:8px}.earthworks-services{grid-template-columns:1fr;gap:32px;margin-top:33px}.earthworks-services article{display:grid;grid-template-columns:28px 1fr;column-gap:15px;padding-top:21px}.earthworks-services .service-num{grid-column:1;grid-row:1;padding-top:5px}.earthworks h3{grid-column:2;font-size:27px;margin:0 0 14px}.earthworks h3 br{display:none}.earthworks-services p{grid-column:2;font-size:12px;max-width:none;margin-bottom:18px}.earthworks .text-link{grid-column:2;justify-self:start;font-size:10px;gap:14px}.earthworks-bottom{flex-direction:column;align-items:stretch;gap:20px;margin-top:35px;padding-top:25px}.earthworks-bottom .button{justify-content:space-between;font-size:11px}.earthworks-bottom>span{font-size:8px}.selector-grid{grid-template-columns:1fr;gap:32px}.selector h2{font-size:34px}.selector .intro{font-size:12px}.need-option{font-size:11px;padding:17px 7px;min-height:65px;gap:8px}.need-option input{width:14px;height:14px}.recommendation{padding:29px 22px}.recommendation h3{font-size:30px}.recommendation p{font-size:12px}.recommendation .button{font-size:10px;padding-inline:15px;gap:12px}.project{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:1.35}.project h2{font-size:35px}.project p{font-size:12px;max-width:none}.steps{grid-template-columns:1fr 1fr;gap:28px 20px}.step-number{font-size:23px;margin-bottom:18px}.step h3{font-size:21px}.step p{font-size:11px}.office-principles{gap:28px}.office-principles h3{font-size:27px}.content-faq-grid{grid-template-columns:1fr;gap:30px}.content-faq-grid h2{font-size:34px}.home-faq summary{font-size:12px}.contact-band{padding:65px 0}.contact-band .wrap{grid-template-columns:1fr;gap:32px}.contact-band h2{font-size:40px}.contact-band p{font-size:12px}.phone-link{font-size:29px}.contact-band .button{width:auto;font-size:11px}.footer{padding-top:45px}.footer-grid{gap:35px 20px;grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer .brand{margin-bottom:18px}.footer h3{font-size:9px}.footer-links{font-size:10px}.footer-bottom{font-size:8px}.page-heading{padding:40px 0 50px;grid-template-columns:1fr;gap:28px}.page-heading h1{font-size:44px;line-height:1.15;letter-spacing:-1px}.page-heading p{font-size:13px}.article-grid{grid-template-columns:1fr;gap:38px}.article-content h2{font-size:29px}.article-content p{font-size:13px}.article-content .service-case h3,.article-content .service-stages h3{font-size:21px}.related-grid{grid-template-columns:1fr}.related-link{font-size:24px}.contact-layout{grid-template-columns:1fr}.contact-note{padding:29px 23px}.contact-note h2{font-size:32px}.detail-row a{font-size:21px}.detail-row address{font-size:27px}}
@media(max-width:360px){.hero h1 .hero-heading-context{font-size:38px}.hero h1 .hero-heading-brand{font-size:11px;letter-spacing:1.8px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px}.hero-copy p{font-size:11px}.hero-actions{flex-direction:column;max-width:260px}.hero-actions .button{justify-content:flex-start;min-height:57px;padding:10px 17px;gap:13px}.hero-action-label small{font-size:7px}.hero-action-label strong{font-size:13px}.hero-copy{bottom:100px}.hero-project{font-size:7px}.hero-project span{font-size:7px}.hero-scroll{font-size:7px}.architecture-card h3{font-size:26px}.earthworks h2{font-size:33px}.earthworks h3{font-size:25px}.need-option{font-size:10px}.recommendation .button{font-size:9px}.page-heading h1{font-size:39px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.service-visual img{transition:none}.service-visual:hover img{transform:none}}

.sticky-aside{top:108px}.hero a:focus-visible{outline-color:#fff}.hero-services>a{scroll-margin-top:110px}
