:root{--ink:#101721;--muted:#59636b;--paper:#fcfaf6;--cream:#f1ede5;--line:#d8d3c9;--gold:#d5b886;--accent:#8a5e32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,textarea,select{outline-offset:4px}img{max-width:100%}.wrap{width:min(100% - 44px,1220px);margin-inline:auto}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.muted{color:var(--muted)}
.site-header{background:var(--ink);color:#fff}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;flex:none}.brand img{display:block;width:255px;height:auto}.site-nav{display:flex;align-items:center;gap:28px;font-size:.94rem}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--gold)}.site-nav .nav-cta{border:1px solid var(--gold);color:var(--gold);padding:9px 15px;white-space:nowrap}.site-nav .nav-cta:hover{background:var(--gold);color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--gold);color:var(--ink);font-weight:700;padding:15px 19px;min-height:54px;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#efd6ab;transform:translateY(-2px)}.button-outline{background:transparent;border:1px solid currentColor;color:inherit}.button-outline:hover{background:var(--ink);color:#fff}.arrow{font-size:1.2rem;line-height:1}
.hero{background:var(--ink);color:#fff;padding:90px 0 100px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:60px;align-items:end}.hero h1{font-size:clamp(3.5rem,7.5vw,8.1rem);line-height:.96;letter-spacing:-.065em;margin:20px 0 32px}.hero h1 em{color:var(--gold);font-weight:400}.hero p{font-size:1.16rem;color:#d1d6d7;max-width:570px;margin:0 0 30px}.hero-note{border-top:1px solid #ffffff70;padding-top:20px;color:#cbd1d2}.hero-note strong{display:block;color:#fff;margin-bottom:9px}.hero-note p{font-size:1rem;margin:0}
.section{padding:100px 0}.section-soft{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-head h2,.page-intro h1{font-size:clamp(2.8rem,5.2vw,5.6rem);letter-spacing:-.055em;line-height:1.04;margin:12px 0 0}.section-head p{max-width:390px;color:var(--muted);margin:0}.page-intro{padding:75px 0 70px}.page-intro p{max-width:740px;color:var(--muted);font-size:1.17rem;margin:25px 0 0}.page-intro.dark{background:var(--ink);color:#fff}.page-intro.dark p{color:#d0d5d7}
.service-grid,.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{border-top:1px solid var(--line);padding:28px 25px 8px 0}.service-card span{font-size:.85rem;color:var(--accent);font-weight:700;letter-spacing:.14em}.service-card h3{font-size:1.5rem;letter-spacing:-.03em;margin:42px 0 12px}.service-card p{color:var(--muted);margin:0}.work-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.work-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #10172112}.work-art{min-height:250px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.work-art span{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.work-art strong{font-size:clamp(2rem,3vw,3.25rem);line-height:1;letter-spacing:-.05em;max-width:340px}.auto{background:#191d1e;color:#f8efdd}.auto strong{font-family:Georgia,serif;font-style:italic}.bakery{background:#e8caba;color:#5e2938}.bakery strong{font-family:Georgia,serif;font-weight:400}.detailing{background:#182530;color:#c9dfe7}.detailing strong{font-family:Georgia,serif;font-weight:400}.concrete{background:#d7ddd8;color:#1d3540}.concrete strong{text-transform:uppercase;letter-spacing:-.075em}.market{background:#243c32;color:#f5e5c7}.market strong{font-family:Georgia,serif;font-weight:400}.work-copy{padding:22px 24px 26px;flex:1}.work-copy h3{font-size:1.24rem;margin:0 0 8px}.work-copy p{color:var(--muted);margin:0 0 16px}.text-link{display:inline-flex;gap:9px;align-items:center;font-weight:700;text-decoration:underline;text-underline-offset:5px}.text-link:hover{color:var(--accent)}.fine-print{font-size:.9rem;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.split h2{font-size:clamp(2.7rem,4.8vw,5rem);line-height:1.05;letter-spacing:-.05em;margin:10px 0 0}.split p{font-size:1.12rem;margin:0 0 18px}.pill-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.pill-list span{border:1px solid var(--line);padding:7px 11px;font-size:.9rem}.cta-band{background:var(--ink);color:#fff;padding:80px 0}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.cta-inner h2{font-size:clamp(3rem,5vw,6rem);line-height:1;letter-spacing:-.055em;margin:12px 0 20px}.cta-inner p{max-width:570px;color:#cbd1d2;margin:0}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:22px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.case-hero{padding:64px 0 74px;border-bottom:1px solid var(--line)}.case-hero h1{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.06em;line-height:1;margin:12px 0 24px}.case-lede{font-size:1.3rem;max-width:800px;margin:0}.case-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.case-meta span{border:1px solid var(--line);padding:7px 12px;font-size:.88rem}.case-panel{padding:70px 0}.case-panel h2{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.045em;margin:8px 0 23px}.case-panel p{font-size:1.08rem;max-width:750px}.decision-list{counter-reset:decision;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.decision-list li{counter-increment:decision;display:grid;grid-template-columns:56px minmax(160px,.7fr) 1.3fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.decision-list li:before{content:'0' counter(decision);color:var(--accent);font-size:.9rem;font-weight:700}.decision-list strong{font-size:1.12rem}.decision-list p{margin:0;color:var(--muted);font-size:1rem}.case-feature{padding:52px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.case-feature .eyebrow{display:block}.case-feature strong{font-size:clamp(2.8rem,5vw,5rem);line-height:1.01;letter-spacing:-.06em;max-width:700px}.case-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 70px}
.form-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:60px;align-items:start}.form-aside{border-top:1px solid var(--line);padding-top:25px}.form-aside p{margin:0 0 16px;color:var(--muted)}.intake{background:#fff;border:1px solid var(--line);padding:32px}.intake h2{font-size:2rem;letter-spacing:-.035em;margin:0 0 8px}.intake .hint{color:var(--muted);margin:0 0 26px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.95rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #aaa79f;border-radius:0;background:#fff;color:var(--ink);padding:12px 13px;min-height:48px}.field textarea{min-height:118px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid #d5b88688}.field small{color:var(--muted)}.intake-actions{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.form-message{margin:15px 0 0;font-weight:700}.form-message[hidden]{display:none}.form-message.error{color:#9b2823}.form-message.success{color:#256043}
footer{background:var(--ink);color:#cbd1d2;border-top:1px solid #ffffff30}.footer-inner{min-height:98px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.9rem}.footer-inner a:hover{color:var(--gold)}@media(max-width:900px){.hero-grid,.split,.form-layout{grid-template-columns:1fr}.hero-note{max-width:550px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:1fr 1fr}.form-layout{gap:30px}}@media(max-width:660px){.wrap{width:min(100% - 36px,1220px)}.header-inner{padding:18px 0;display:block}.brand img{width:225px}.site-nav{margin-top:20px;gap:14px;flex-wrap:wrap;font-size:.87rem}.site-nav .nav-cta{padding:7px 10px}.hero{padding:64px 0 72px}.hero h1{font-size:clamp(3.4rem,15vw,5.8rem)}.section{padding:70px 0}.section-head,.cta-inner{display:block}.section-head p{margin-top:18px}.service-grid,.work-grid,.form-grid{grid-template-columns:1fr}.work-art{min-height:220px}.cta-inner .button{margin-top:30px}.case-hero{padding:50px 0}.case-panel{padding:50px 0}.decision-list li{grid-template-columns:44px 1fr}.decision-list li p{grid-column:2}.case-feature{padding:30px;min-height:260px}.intake{padding:22px}.footer-inner{padding:25px 0;display:block}.footer-inner span{display:block;margin-bottom:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.work-card{transition:none}}
.site-capture{margin:0 0 26px;background:#fff;border:1px solid var(--line)}.site-capture img{display:block;width:100%;height:auto}.site-capture figcaption{padding:12px 18px;color:var(--muted);font-size:.9rem}
.work-shot{display:block;width:100%;aspect-ratio:1200/750;object-fit:cover;object-position:top;border-bottom:1px solid var(--line)}

/* Portfolio-led homepage: the work itself carries the movement. */
.home-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 36%,#2c3540 0%,#101721 52%);padding:105px 0 110px}
.home-hero:after{content:"";position:absolute;left:-8%;bottom:-240px;width:530px;height:530px;border:1px solid #d5b88624;border-radius:50%;pointer-events:none}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.home-hero .hero-content{position:relative;z-index:2}
.home-hero h1{font-size:clamp(3.6rem,6.6vw,7.2rem);max-width:820px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-secondary{color:#f7e5c5;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.hero-secondary:hover{color:#fff}
.home-hero .hero-note{max-width:550px;margin-top:78px}
.hero-showcase{height:550px;position:relative;isolation:isolate}
.showcase-halo{position:absolute;inset:12% 4% 4% 8%;border:1px solid #d5b88660;border-radius:50%;transform:rotate(-18deg);z-index:-1}
.showcase-frame{display:block;position:absolute;background:#fff;padding:7px;border:1px solid #ffffff55;box-shadow:0 24px 60px #0008;transition:transform .35s ease,box-shadow .35s ease}
.showcase-frame:hover{transform:translateY(-12px) rotate(0deg);box-shadow:0 30px 70px #000a;z-index:4}
.showcase-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.showcase-frame-main{width:84%;height:330px;top:19%;left:9%;transform:rotate(-5deg);z-index:2;animation:float-main 8s ease-in-out infinite}
.showcase-frame-small{width:55%;height:180px}
.showcase-frame-auto{top:0;right:-1%;transform:rotate(7deg);z-index:1;animation:float-auto 9s ease-in-out infinite}
.showcase-frame-market{bottom:4%;left:0;transform:rotate(6deg);z-index:3;animation:float-market 10s ease-in-out infinite}
.showcase-frame:hover{animation-play-state:paused}
.showcase-label{position:absolute;right:0;bottom:0;color:#e9d2ad;font-size:.83rem;letter-spacing:.12em;text-transform:uppercase}
@keyframes float-main{50%{translate:0 -12px}}
@keyframes float-auto{50%{translate:0 10px}}
@keyframes float-market{50%{translate:0 -8px}}
.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-motion .reveal.is-visible{opacity:1;transform:none}
.js-motion .work-card:nth-child(2),.js-motion .service-card:nth-child(2){transition-delay:.08s}
.js-motion .work-card:nth-child(3),.js-motion .service-card:nth-child(3){transition-delay:.16s}
.case-gallery{margin-bottom:38px}
.case-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.case-gallery-heading h2{margin:6px 0 0}
.case-gallery-heading p{max-width:430px;margin:0;color:var(--muted)}
.site-capture{overflow:hidden}
.site-capture a{display:block}
.site-capture a:hover img{filter:brightness(.96)}
.site-capture img{transition:filter .2s}
.case-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 0}
.case-visual-grid figure{margin:0;background:#fff;border:1px solid var(--line)}
.case-visual-grid img{display:block;width:100%;height:330px;object-fit:cover}
.case-visual-grid figcaption{padding:13px 17px;font-weight:700}
@media(max-width:900px){.home-hero .hero-grid{grid-template-columns:1fr}.hero-showcase{height:430px;max-width:680px;width:100%;margin:0 auto}.home-hero .hero-note{margin-top:45px}}
@media(max-width:660px){.home-hero{padding:62px 0 72px}.home-hero .hero-grid{gap:35px}.home-hero h1{font-size:clamp(3.15rem,13vw,5rem);line-height:1}.home-hero .hero-note{margin-top:38px}.hero-showcase{height:auto;aspect-ratio:8/5}.showcase-halo,.showcase-frame-small{display:none}.showcase-frame-main{position:relative;left:auto;top:auto;width:100%;height:100%;transform:none;animation:none;padding:5px}.showcase-frame-main img{object-fit:contain;object-position:center}.showcase-label{right:10px;bottom:12px;background:#101721d9;padding:6px 9px;font-size:.68rem}.work-shot{aspect-ratio:8/5;object-fit:contain;object-position:center}.case-gallery-heading{display:block}.case-gallery-heading p{margin-top:10px}.site-capture{overflow:visible}.site-capture a{width:100%}.site-capture img{width:100%;max-width:100%;height:auto}.site-capture figcaption{background:#fff}.case-visual-grid{grid-template-columns:1fr}.case-visual-grid img{height:auto;max-height:420px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.showcase-frame{animation:none!important;transition:none}.js-motion .reveal{opacity:1;transform:none;transition:none}}
.work-shot{height:auto;aspect-ratio:auto;object-fit:unset}
.showcase-frame{padding:0}
.showcase-frame-main,.showcase-frame-small{height:auto;aspect-ratio:8/5}
.showcase-frame img{height:auto;object-fit:contain}
@media(max-width:660px){.hero-showcase{height:auto;aspect-ratio:auto}.showcase-frame-main{height:auto;padding:0;border:0}.showcase-frame-main img{height:auto}.work-shot{height:auto;aspect-ratio:auto;object-fit:unset}.site-capture{margin-bottom:0}.site-capture img{display:block;width:100%;height:auto;max-width:100%}}
