:root{--ink:#1c1a17;--muted:#524e48;--soft:#858076;--accent:#8b7355;--line:#e7e2d8;--sand:#efebe2;--dark:#11100e;--green:#06c755;--shell:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:helvetica-neue-world,Noto Sans Thai,Thonburi,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block}p{color:var(--muted);line-height:1.65}h1,h2,h3,p{margin-top:0}.shell{width:min(var(--shell), calc(100% - 160px));margin-inline:auto}.site-header{height:96px;padding:0 max(5vw, calc((100vw - var(--shell)) / 2));border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;display:grid;position:relative}.wordmark{white-space:nowrap;align-items:center;display:inline-flex}.brand-logo{width:190px;height:auto}.site-header nav{color:var(--muted);gap:32px;font-size:14px;display:flex}.site-header nav a,.footer-links a{transition:color .2s}.site-header nav a:hover,.footer-links a:hover{color:var(--accent)}.header-cta{justify-self:end}.mobile-menu{display:none}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 28px;font-size:15px;font-weight:650;line-height:1.2;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--ink);box-shadow:0 8px 18px #0000001a}.button-outline{border-color:var(--ink);background:#fff9}.button-line{color:#fff;background:var(--green);box-shadow:0 10px 18px #00000029}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-hero{border-bottom:1px solid var(--line);background:#fff;grid-template-rows:1fr auto;grid-template-columns:46% 54%;width:100%;height:calc(100dvh - 96px);min-height:0;display:grid;position:relative;overflow:hidden}.hero-intro{z-index:2;padding:82px 5vw 48px max(5vw, calc((100vw - var(--shell)) / 2));border-right:1px solid var(--line);flex-direction:column;grid-area:1/1;justify-content:center;display:flex}.hero-eyebrow{color:var(--accent);letter-spacing:1.4px;margin-bottom:24px;font-size:11px;font-weight:650}.hero-intro h1{letter-spacing:-2.4px;text-wrap:balance;max-width:600px;margin-bottom:24px;font-size:clamp(50px,4.5vw,68px);font-weight:400;line-height:1.04}.hero-intro p{max-width:560px;margin-bottom:0;font-size:17px}.hero-media{--hero-shift:0px;grid-area:1/2/-1;min-height:100%;position:relative;overflow:hidden}.hero-slides{transform:translate3d(0, var(--hero-shift), 0) scale(1.03);will-change:transform;position:absolute;inset:-4%}.hero-slide{opacity:0;transition:opacity 1.1s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide img{object-fit:cover;transform:scale(1.01)}.hero-slide.is-active img{animation:5.8s ease-out both hero-slide-zoom}.hero-media:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#ffffff1f,#0000 22%);position:absolute;inset:0}.hero-slide-meta{z-index:3;color:#fff;text-shadow:0 1px 8px #0000008c;justify-content:space-between;align-items:center;gap:18px;display:flex;position:absolute;bottom:22px;left:22px;right:22px}.hero-slide-meta>span{letter-spacing:.35px;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.hero-slide-meta>div{flex:none;align-items:center;gap:10px;display:flex}.hero-slide-meta small{color:#ffffffa6;font-size:10px}.hero-slide-meta button{color:#fff;cursor:pointer;text-shadow:inherit;background:0 0;border:0;padding:0}.hero-slide-meta button:disabled{cursor:default;opacity:.55}@keyframes hero-slide-zoom{0%{transform:scale(1.01)}to{transform:scale(1.065)}}.hero-offer{z-index:3;padding:24px 5vw 22px max(5vw, calc((100vw - var(--shell)) / 2));border-top:1px solid var(--line);border-right:1px solid var(--line);background:#f7f5f0;grid-area:2/1}.hero-price{grid-template-columns:1fr auto;align-items:end;gap:4px 20px;margin-bottom:22px;display:grid}.hero-price span{color:var(--muted);font-size:13px}.hero-price strong{color:var(--accent);grid-area:1/2/span 2;font-size:48px;font-weight:400;line-height:1}.hero-price small{color:var(--soft);font-size:11px}html.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px)}html.reveal-ready [data-reveal]:not(.is-visible){will-change:opacity, transform}html.reveal-ready [data-reveal].is-visible{opacity:1;transition:opacity .58s cubic-bezier(.2,.65,.25,1),transform .58s cubic-bezier(.2,.65,.25,1);transform:translate(0,0)}html.reveal-ready [data-reveal] .project-card,html.reveal-ready [data-reveal] .process-grid>div,html.reveal-ready [data-reveal] .why-list article{opacity:0;transform:translateY(18px)}html.reveal-ready [data-reveal].is-visible .project-card,html.reveal-ready [data-reveal].is-visible .process-grid>div,html.reveal-ready [data-reveal].is-visible .why-list article{opacity:1;transition:opacity .5s,transform .5s;transform:translate(0,0)}html.reveal-ready [data-reveal].is-visible .project-card:nth-child(2),html.reveal-ready [data-reveal].is-visible .process-grid>div:nth-child(2),html.reveal-ready [data-reveal].is-visible .why-list article:nth-child(2){transition-delay:70ms}html.reveal-ready [data-reveal].is-visible .project-card:nth-child(3),html.reveal-ready [data-reveal].is-visible .process-grid>div:nth-child(3),html.reveal-ready [data-reveal].is-visible .why-list article:nth-child(3){transition-delay:.14s}html.reveal-ready [data-reveal].is-visible .project-card:nth-child(4),html.reveal-ready [data-reveal].is-visible .process-grid>div:nth-child(4){transition-delay:.21s}html.reveal-ready [data-reveal].is-visible .process-grid>div:nth-child(5){transition-delay:.28s}html.reveal-ready [data-reveal].is-visible .process-grid>div:nth-child(6){transition-delay:.35s}.section{padding-block:112px}.section>h2,.about-page>h1,.page-hero h1{letter-spacing:-2px;font-size:clamp(44px,5vw,80px);font-weight:400;line-height:1.05}.eyebrow{align-items:center;gap:10px;margin-bottom:18px;display:flex}.eyebrow em{color:var(--accent);font-size:20px}.eyebrow span{color:var(--soft);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:650}.home-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px;margin-top:64px;display:grid}.project-card{flex-direction:column;gap:7px;min-width:0;display:flex}.project-card.wide{grid-column:1/-1}.project-image{aspect-ratio:4/5;background:var(--sand);border-radius:12px;position:relative;overflow:hidden}.project-card.wide .project-image,.project-card.tall .project-image{height:700px}.project-image img{object-fit:cover;transition:transform .5s}.project-card:hover .project-image img{transform:scale(1.02)}.project-card>span{color:var(--accent);letter-spacing:.35px;margin-top:10px;font-size:12px}.project-card h3{margin:0;font-size:28px;font-weight:400;line-height:1.2}.text-link{border-bottom:1px solid var(--ink);margin-top:56px;padding-bottom:4px;display:inline-block}.problem-section,.why-section{background:#f7f5f0;padding-block:112px}.split{grid-template-columns:1.05fr .95fr;align-items:start;gap:90px;display:grid}.split h2{font-size:46px;font-weight:400;line-height:1.2}.body-copy p{margin-bottom:24px;font-size:17px}.package-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.package-heading h2{margin-bottom:22px;font-size:44px;font-weight:400}.package-heading strong{font-size:44px;font-weight:400}.package-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin:48px 0;display:grid}.package-grid>div{border:1px solid var(--line);border-radius:12px;padding:28px}.package-grid h3{font-size:19px}.package-grid ul{color:var(--muted);margin:0;padding-left:20px;line-height:1.9}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;display:grid}.process-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px;padding:32px}.process-grid>div:nth-child(3n){border-right:0}.process-grid em{color:var(--accent);font-size:24px}.process-grid h3{margin:30px 0 8px;font-size:20px}.process-grid p{margin:0;font-size:14px}.why-list{margin-top:50px}.why-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:50px;padding:28px 0;display:grid}.why-list h3{font-size:24px;font-weight:500}.why-list p{margin:0}.testimonial-placeholder{text-align:center;color:var(--accent);background:#eae6dc;border-radius:8px;margin-top:64px;padding:44px}.testimonial-placeholder span{letter-spacing:1px;font-size:10px}.testimonial-placeholder p{margin:14px 0 0;font-size:18px;font-style:italic}.faq-section{grid-template-columns:.75fr 1.25fr;gap:100px;display:grid}.faq-section h2{font-size:54px;font-weight:400}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list summary{cursor:pointer;justify-content:space-between;gap:20px;font-size:19px;font-weight:600;list-style:none;display:flex}.faq-list summary:after{content:"+";font-size:24px;font-weight:300}.faq-list details[open] summary:after{content:"−"}.faq-list p{max-width:680px;margin:18px 0 0}.final-cta{text-align:center;color:#fff;background:#181614;flex-direction:column;align-items:center;padding:110px 40px;display:flex}.final-cta h2{max-width:1000px;margin-bottom:18px;font-size:clamp(42px,5vw,64px);font-weight:400;line-height:1.1}.final-cta p{color:#ffffffad;max-width:800px;font-size:18px}.final-cta .button{margin-top:24px}.final-cta small{color:#ffffff6b;margin-top:22px}.page-hero{padding:94px 0 72px}.page-hero h1{margin-bottom:24px}.page-hero>p{width:min(720px,100%);font-size:18px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:80px 32px;padding-bottom:120px;display:grid}.portfolio-grid .portfolio-full{grid-column:1/-1}.portfolio-grid .project-image{aspect-ratio:4/5}.portfolio-grid .portfolio-landscape .project-image{aspect-ratio:4/3}.back-link{color:var(--accent);margin:40px 0 60px;font-size:14px;display:inline-block}.case-title{justify-content:space-between;align-items:end;gap:60px;margin-bottom:32px;display:flex}.case-title span{color:var(--accent);font-size:12px}.case-title h1{letter-spacing:-3px;margin:14px 0 0;font-size:clamp(52px,7vw,96px);font-weight:400}.case-title dl{gap:34px;margin:0 0 8px;display:flex}.case-title dt{color:var(--soft);letter-spacing:1px;font-size:10px}.case-title dd{margin:6px 0 0;font-size:13px}.case-image{border-radius:8px;height:480px;position:relative;overflow:hidden}.case-image img{object-fit:cover}.case-hero-image{height:680px}.portfolio-case .case-hero-image{height:auto}.portrait-case .case-hero-image{aspect-ratio:4/5;width:min(820px,100%);margin-inline:auto}.landscape-case .case-hero-image{aspect-ratio:4/3}.case-intro{border-bottom:1px solid var(--line);grid-template-columns:1.5fr .55fr;gap:90px;padding:90px 0;display:grid}.case-intro h2,.case-concept>h2{font-size:34px;font-weight:400}.case-intro p{font-size:16px}.case-intro aside{border:1px solid var(--line);border-radius:8px;padding:28px}.case-intro aside h3{font-size:16px}.case-intro aside p{border-bottom:1px solid var(--line);padding-bottom:13px;font-size:12px}.case-intro aside strong{color:var(--ink);margin-bottom:4px;display:block}.case-gallery{grid-template-columns:1fr 1fr;gap:24px;padding:90px 0;display:grid}.case-gallery header,.case-gallery .wide{grid-column:1/-1}.case-gallery header{margin-bottom:20px}.case-gallery header span{color:var(--accent)}.case-gallery header h2{max-width:760px;margin-top:12px;font-size:34px;font-weight:400}.case-concept{border-top:1px solid var(--line);padding:90px 0}.case-concept>div{grid-template-columns:1fr 1fr;gap:48px;display:grid}.case-concept h3{color:var(--accent);font-weight:500}.next-project{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;padding:32px 0 70px;display:flex}.about-page,.contact-page{padding:72px 0 110px}.about-page>h1,.contact-page>h1{font-size:48px;font-weight:400}.about-lead{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:90px;padding:48px 0 80px;display:grid}.about-lead h2{font-size:38px;font-weight:400;line-height:1.25}.about-lead p{margin-bottom:20px}.approach,.team{padding-top:72px}.approach>h2,.team>h2{font-size:34px;font-weight:400}.approach>div{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:48px;padding:28px 0 70px;display:grid}.approach h3{color:var(--accent);font-size:20px;font-weight:400}.approach p{font-size:14px}.team .testimonial-placeholder{margin-top:28px}.contact-grid{grid-template-columns:1fr .95fr;gap:90px;margin-top:45px;display:grid}.contact-grid>div>h2{font-size:44px;font-weight:400;line-height:1.25}.contact-list{margin-top:34px}.contact-list>div{border-bottom:1px solid var(--line);padding:20px 0}.contact-list dt{color:var(--soft);letter-spacing:1px;font-size:11px;font-weight:650}.contact-list dd{flex-wrap:wrap;align-items:center;gap:20px;margin:12px 0 0;font-size:18px;display:flex}.contact-list .button{min-height:42px;padding-block:10px;font-size:13px}.contact-prep{background:#eeebe3;border-radius:8px;padding:48px}.contact-prep h2{font-size:28px;font-weight:400}.contact-prep>p{font-size:14px}.contact-prep ul{margin:0;padding:18px 0 0;list-style:none}.contact-prep li{padding:0 0 22px 30px;position:relative}.contact-prep li:before{content:"✓";color:var(--accent);position:absolute;left:0}.contact-prep strong,.contact-prep span{display:block}.contact-prep span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.legal{min-height:55vh;padding:90px 0}.legal h1{font-size:54px;font-weight:400}.legal p{max-width:720px}.site-footer{background:var(--dark);color:#fff;padding:74px max(5vw, calc((100vw - var(--shell)) / 2)) 40px}.footer-top{justify-content:space-between;gap:80px;display:flex}.wordmark-light .brand-logo{filter:invert();width:220px}.footer-intro{width:410px}.footer-intro p{color:#fff9;margin-top:20px;font-size:14px}.footer-links{gap:70px;display:flex}.footer-links>div{flex-direction:column;gap:13px;display:flex}.footer-links strong{margin-bottom:3px;font-size:14px}.footer-links a{color:#ffffff73;font-size:13px}.footer-bottom{color:#ffffff40;border-top:1px solid #ffffff1a;justify-content:space-between;margin-top:64px;padding-top:24px;font-size:12px;display:flex}.footer-bottom span:last-child{gap:18px;display:flex}@media (max-width:980px){.shell{width:min(100% - 48px, var(--shell))}.site-header{grid-template-columns:1fr auto;height:80px;padding-inline:24px}.site-header nav,.header-cta{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;font-size:14px;list-style:none}.mobile-menu div{border:1px solid var(--line);background:#fff;flex-direction:column;gap:14px;width:210px;padding:18px;display:flex;position:absolute;top:34px;right:0;box-shadow:0 14px 30px #0000001f}.home-hero{flex-direction:column;height:auto;min-height:calc(100dvh - 80px);display:flex}.hero-intro{border-right:0;order:1;padding:60px 24px 44px}.hero-media{order:2;width:100%;min-height:460px}.hero-offer{border-right:0;order:3;padding:30px 24px 36px}.split,.faq-section,.about-lead,.contact-grid,.case-intro{grid-template-columns:1fr;gap:38px}.package-grid,.process-grid{grid-template-columns:1fr 1fr}.process-grid>div:nth-child(3n){border-right:1px solid var(--line)}.process-grid>div:nth-child(2n){border-right:0}.case-title{flex-direction:column;align-items:start}.case-title dl{flex-wrap:wrap}.case-hero-image{height:520px}.footer-top{flex-direction:column}}@media (max-width:680px){.shell{width:calc(100% - 32px)}.brand-logo{width:150px}.hero-intro{padding:46px 16px 34px}.hero-eyebrow{letter-spacing:1px;margin-bottom:18px;font-size:9px}.hero-intro h1{letter-spacing:-1.8px;margin-bottom:18px;font-size:42px;line-height:1.05}.hero-intro p{font-size:15px}.hero-media{min-height:360px}.hero-media img{object-position:58% center}.hero-slide-meta{bottom:12px;left:12px;right:12px}.hero-offer{padding:26px 16px 30px}.hero-price{grid-template-columns:1fr auto;margin-bottom:20px}.hero-price strong{font-size:38px}.button-row .button{width:100%}.section,.problem-section,.why-section{padding-block:76px}.section>h2,.page-hero h1{font-size:44px}.home-gallery,.portfolio-grid{grid-template-columns:1fr;gap:54px}.project-card.wide,.portfolio-grid .portfolio-full{grid-column:auto}.project-image,.project-card.wide .project-image,.project-card.tall .project-image,.portfolio-grid .project-image,.portfolio-grid .portfolio-large .project-image,.portfolio-grid .portfolio-full .project-image{aspect-ratio:4/5;height:auto}.portfolio-grid .portfolio-landscape .project-image{aspect-ratio:4/3}.project-card h3{font-size:23px}.split h2{font-size:34px}.package-heading{flex-direction:column;align-items:start}.package-grid,.process-grid{grid-template-columns:1fr}.process-grid>div{border-right:0!important}.why-list article{grid-template-columns:1fr;gap:6px}.final-cta{padding:78px 20px}.page-hero{padding-top:70px}.portfolio-grid{padding-bottom:80px}.case-title h1{font-size:50px}.case-title dl{grid-template-columns:1fr 1fr;display:grid}.case-hero-image{height:380px}.case-gallery{grid-template-columns:1fr}.case-gallery header,.case-gallery .wide{grid-column:auto}.case-image{height:320px}.case-concept>div,.approach>div{grid-template-columns:1fr}.next-project{flex-direction:column;gap:18px}.about-page,.contact-page{padding-top:58px}.about-page>h1,.contact-page>h1{font-size:40px}.about-lead h2,.contact-grid>div>h2{font-size:32px}.contact-prep{padding:30px 24px}.footer-intro{width:auto}.footer-links{flex-direction:column;gap:40px}.footer-bottom{flex-direction:column;gap:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}.hero-slides{transform:none!important}.hero-slide.is-active img{animation:none}[data-reveal],[data-reveal] .project-card,[data-reveal] .process-grid>div,[data-reveal] .why-list article{opacity:1;transform:none}}
