:root{--ink:#111;--muted:#5d5d5d;--line:#dedede;--paper:#fff;--soft:#f7f7f7;--accent:#164f70;--teal:#17708e;--charcoal:#424242}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}.site-frame{position:fixed;inset:18px;pointer-events:none;border:1px solid #e6e6e6;z-index:200}a{color:inherit;text-decoration:none}.header{height:105px;padding:0 6.6vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:#fff}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;display:flex;align-items:center;justify-content:center}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-size:13px;font-weight:600;color:var(--teal)}.brand-copy small{font-size:10px;color:var(--teal)}.nav{display:flex;gap:31px}.nav a{font-size:12px;position:relative;color:var(--charcoal)}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#111;transition:.25s}.nav a:hover:after{right:0}.menu-btn{display:none;background:none;border:0}.hero{min-height:calc(100vh - 105px);padding:30px 8vw 70px;display:grid;grid-template-columns:34% 66%;align-items:center;gap:20px}.hero-intro{padding-left:3vw;max-width:390px}.hero-intro .eyebrow{color:var(--teal)}.eyebrow{display:block;text-transform:none;font-size:10px;letter-spacing:.08em;margin-bottom:24px;color:#555}.hero h1{font-family:"DM Sans",sans-serif;font-weight:500;font-size:clamp(50px,6.1vw,88px);line-height:.95;letter-spacing:-.06em;margin:0;color:var(--teal)}.hero h1 em{font-style:normal;font-weight:600}.hero-intro p{font-size:12px;line-height:1.8;color:var(--teal);max-width:330px;margin-top:28px}.portfolio-shape{position:relative;width:min(660px,100%);margin:0 auto}
.hex-row{position:relative;height:180px}
.tri{position:absolute;top:0;width:50%;height:100%;background-size:cover;background-position:center;background-color:#eee;transform:scale(.93);transition:transform .4s ease,filter .4s ease;display:block;cursor:pointer}
.tri:hover{transform:scale(.985);filter:contrast(1.05);z-index:2}
.tri:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 55%,rgba(0,0,0,.32))}
.tri-1{left:0%;clip-path:polygon(50% 0,0 100%,100% 100%)}
.tri-2{left:25%;clip-path:polygon(50% 100%,0 0,100% 0)}
.tri-3{left:50%;clip-path:polygon(50% 0,0 100%,100% 100%)}
.hex-row.row-b .tri-1{clip-path:polygon(50% 100%,0 0,100% 0)}
.hex-row.row-b .tri-2{clip-path:polygon(50% 0,0 100%,100% 100%)}
.hex-row.row-b .tri-3{clip-path:polygon(50% 100%,0 0,100% 0)}
.shape-caption{margin-top:18px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--charcoal);white-space:nowrap}
.shape-caption span{font-size:14px;margin-left:8px}.statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 8vw;overflow:hidden;white-space:nowrap}.statement p{margin:0;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.28em;color:#555}.section{padding:135px 10vw}.section-title{display:grid;grid-template-columns:1fr 1.4fr .9fr;gap:50px;align-items:end;margin-bottom:65px}.section-title .eyebrow{margin:0;color:var(--teal)}.section-title h2{font-family:"DM Sans",sans-serif;font-weight:500;font-size:clamp(50px,6vw,82px);line-height:.9;letter-spacing:-.055em;margin:0;color:var(--teal)}.section-title>p{font-size:12px;line-height:1.8;color:var(--charcoal);margin:0;max-width:300px}.work-grid{border-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:36px 26px}
.work-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;row-gap:12px;padding:0;border:0;transition:transform .3s ease}
.work-card:hover{transform:translateY(-6px)}
.work-no{position:absolute;top:10px;left:10px;font-size:9px;color:#fff;background:rgba(0,0,0,.55);padding:3px 7px;z-index:2;letter-spacing:.05em}
.work-img{grid-column:1/-1;grid-row:1;width:100%;aspect-ratio:4/3;height:auto;background-size:cover;background-position:center;display:block}
.work-card>div{grid-column:1;grid-row:2}
.work-card h3{font-family:"DM Sans",sans-serif;font-weight:500;font-size:19px;letter-spacing:-.03em;margin:0 0 4px}
.work-card p{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--charcoal);margin:0}
.work-card .arrow{grid-column:2;grid-row:2;align-self:start;font-size:16px}.about{background:#f7f7f7;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about .section-title{display:block;margin:0}.about .section-title h2{margin-top:30px}.about-copy{padding-top:40px;max-width:560px}.about-copy>p{font-size:13px;line-height:1.95;color:var(--charcoal);margin:0 0 24px}.services{border-top:1px solid #d7d7d7;margin-top:40px;display:flex;flex-wrap:wrap}.services span{padding:13px 22px 13px 0;margin-right:22px;border-bottom:1px solid #d7d7d7;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--charcoal)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10vw}.faq .section-title{display:block;margin:0}.faq .section-title h2{margin-top:30px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{list-style:none;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;gap:20px;color:var(--charcoal)}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;line-height:1.8;color:var(--charcoal);max-width:650px;margin:16px 30px 0 0}.contact{min-height:650px;background:#111;color:#fff;display:grid;place-items:center;text-align:center;padding:90px 20px}.contact-inner .eyebrow{color:#aaa}.contact h2{font-family:"DM Sans",sans-serif;font-size:clamp(48px,7.2vw,105px);font-weight:500;line-height:.9;letter-spacing:-.06em;margin:0 0 48px}.contact h2 em{font-style:normal;color:#d9d9d9}.contact a{font-size:12px;border-bottom:1px solid #888;padding-bottom:9px}.contact a span{margin-left:8px}footer{padding:24px 6.6vw;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em}footer span:first-child{color:var(--teal)}footer span:last-child{color:var(--charcoal)}.image-heritage{background-image:linear-gradient(135deg,rgba(0,0,0,.08),rgba(0,0,0,.35)),url("https://images.unsplash.com/photo-1605640840605-14ac1855827b?auto=format&fit=crop&w=1200&q=80")}.image-architecture{background-image:linear-gradient(135deg,rgba(0,0,0,.05),rgba(0,0,0,.48)),url("https://images.unsplash.com/photo-1578475753236-2e48f7b5b9c4?auto=format&fit=crop&w=1200&q=80")}.image-type{background:radial-gradient(circle at 25% 25%,#fff 0 2px,transparent 3px),linear-gradient(135deg,#dce4e8,#9caab1);background-size:28px 28px,auto}.image-print{background:linear-gradient(120deg,#ece8df,#a6a29b)}.image-carving{background:linear-gradient(135deg,#172c35,#0b1115)}.image-cultural{background:linear-gradient(135deg,#d7d0c5,#6f746f)}.image-mandala{background:radial-gradient(circle,#111 0 1px,transparent 2px),#f0f0f0;background-size:16px 16px}.image-art{background:linear-gradient(135deg,#163c57,#b5c3ca)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.tile-image,.work-img{background-size:cover;background-position:center}
.gallery-hero{padding:150px 8vw 60px}
.gallery-hero .eyebrow{margin-bottom:22px}
.gallery-hero h1{font:600 clamp(48px,7vw,96px)/.9 'Cormorant Garamond',serif;margin:0 0 22px}
.gallery-hero p{max-width:560px;color:var(--muted);line-height:1.9;font-size:13px;margin:0}
.gallery-count{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#888}
.gallery-grid{padding:0 8vw 100px;column-count:3;column-gap:14px}
.gallery-item{break-inside:avoid;margin-bottom:14px;display:block;overflow:hidden;background:#f0f0f0;cursor:zoom-in;position:relative}
.gallery-item img{display:block;width:100%;height:auto;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px 12px;font-size:10px;letter-spacing:.06em;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent);opacity:0;transition:opacity .3s ease}
.gallery-item:hover figcaption{opacity:1}
.cat-nav{padding:14px 8vw 0;display:flex;flex-wrap:wrap;gap:10px 22px}
.cat-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#888;padding-bottom:4px;border-bottom:1px solid transparent}
.cat-nav a.active{color:#111;border-bottom-color:#111}
.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;z-index:500;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,88vw);max-height:86vh;width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox-caption{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#ddd;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.lightbox-close{top:26px;right:32px}
.lightbox-prev{left:24px;top:50%;transform:translateY(-50%);font-size:28px}
.lightbox-next{right:24px;top:50%;transform:translateY(-50%);font-size:28px}
.gallery-item-video{cursor:pointer}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(17,17,17,.72);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:transform .3s ease,background .3s ease}
.play-badge:before{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.gallery-item-video:hover .play-badge{transform:translate(-50%,-50%) scale(1.1);background:var(--accent)}
.duration-badge{position:absolute;right:10px;bottom:10px;font-size:9px;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.55);padding:3px 7px}
.lightbox video{max-width:min(900px,88vw);max-height:86vh;width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.5);display:none}
@media(max-width:900px){.gallery-grid{column-count:2}.gallery-hero{padding:120px 7vw 40px}.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery-grid{column-count:1}.lightbox-prev,.lightbox-next{font-size:22px}}
@media(max-width:900px){.site-frame{inset:10px}.header{height:78px;padding:0 7vw}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 7vw;border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.nav.open{display:flex}.menu-btn{display:flex;flex-direction:column;gap:6px}.menu-btn i{width:24px;height:1px;background:#111}.hero{min-height:auto;display:block;padding:60px 7vw 70px}.hero-intro{padding:0;max-width:500px}.hero h1{font-size:clamp(54px,12vw,86px)}.portfolio-shape{margin-top:55px}.hex-row{height:140px}.section{padding:95px 7vw}.section-title{grid-template-columns:1fr;gap:22px;margin-bottom:45px}.section-title h2{font-size:58px}.work-card{grid-template-columns:30px 95px 1fr 20px;gap:12px}.work-img{height:62px}.work-card h3{font-size:21px}.work-card p{font-size:8px}.about,.faq{grid-template-columns:1fr;gap:35px}.about-copy{padding-top:0}.faq .section-title h2,.about .section-title h2{margin-top:15px}.contact{min-height:520px}footer{padding:22px 7vw;gap:15px;line-height:1.8}}
@media(max-width:520px){.brand-copy small{display:none}.brand-copy strong{font-size:12px}.brand-mark{width:36px;height:36px}.hero{padding-top:45px}.hero h1{font-size:52px}.hero-intro p{font-size:11px}.hex-row{height:105px}.statement p{font-size:7px;letter-spacing:.18em}.section{padding:75px 7vw}.section-title h2{font-size:50px}.work-grid{grid-template-columns:repeat(2,1fr)}.services span{margin-right:10px;padding-right:10px}.contact h2{font-size:48px}footer{display:block}}
