@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#11110f;
  --paper:#f1eee6;
  --white:#fff;
  --muted:#bdb8ae;
  --steel:#242522;
  --line:rgba(17,17,15,.18);
  --accent:#ef5a2f;
  --max:1440px;
  --pad:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
::selection{background:var(--ink);color:var(--paper)}

.demo-ribbon{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--ink);color:#fff;padding:10px 14px;border:1px solid rgba(255,255,255,.18);font-size:11px;text-transform:uppercase;letter-spacing:.14em;box-shadow:0 10px 30px rgba(0,0,0,.16)}

.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:relative;z-index:30;background:rgba(241,238,230,.94);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed',sans-serif;font-weight:900;letter-spacing:.03em;font-size:27px}
.brand-mark{width:42px;height:42px;border:2px solid var(--ink);display:grid;place-items:center;font-size:18px;position:relative;overflow:hidden}
.brand-mark:after{content:"";position:absolute;width:24px;height:2px;background:var(--accent);transform:rotate(-35deg)}
.nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.nav a{position:relative}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--accent);transition:.25s}
.nav a:hover:after,.nav a.active:after{width:100%}
.nav-cta{background:var(--ink);color:#fff;padding:13px 18px}
.menu-btn{display:none;border:0;background:none;font-size:24px}

.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#5f5d56;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--accent)}
.display{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:-.035em;line-height:.82;margin:0}
.section{padding:clamp(72px,9vw,140px) var(--pad);max-width:var(--max);margin:auto}
.section.full{max-width:none}
.section-title{font-size:clamp(58px,8vw,124px);max-width:1000px}
.lede{font-size:clamp(18px,2vw,26px);max-width:760px;color:#514f49}
.kicker{font-family:'Barlow Condensed';font-size:clamp(30px,4vw,58px);font-weight:800;line-height:.95;text-transform:uppercase}

/* Hero: interactive work chooser */
.hero-workbench{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);border-bottom:1px solid var(--line)}
.hero-copy{padding:clamp(56px,7vw,110px) var(--pad);display:flex;flex-direction:column;justify-content:space-between;min-height:700px}
.hero-copy h1{font-size:clamp(78px,10.4vw,178px);max-width:900px}
.hero-sub{max-width:620px;font-size:18px;margin-top:38px;color:#4e4c46}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:26px;margin-top:52px;max-width:700px}
.hero-stat strong{font-family:'Barlow Condensed';font-size:38px;display:block;line-height:1}
.hero-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#68665f}
.work-picker{position:relative;background:#151513;color:#fff;overflow:hidden;min-height:700px}
.work-picker-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.8) contrast(1.05);transition:opacity .2s,transform .7s;transform:scale(1.03)}
.work-picker:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 50%)}
.work-picker-ui{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--pad)}
.picker-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:20px}
.work-options{border-top:1px solid rgba(255,255,255,.3)}
.work-option{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.22);font-family:'Barlow Condensed';font-size:clamp(31px,3.1vw,55px);font-weight:800;text-transform:uppercase;line-height:1;cursor:pointer;transition:.2s}
.work-option span:last-child{font-size:16px;font-family:Inter;font-weight:500;opacity:.55}
.work-option:hover,.work-option.active{padding-left:14px;color:#fff}
.work-option.active{background:rgba(239,90,47,.92);padding-right:14px}

/* editorial project stream */
.project-stream{display:grid;gap:0;border-top:1px solid var(--line)}
.project-row{display:grid;grid-template-columns:130px 1fr minmax(330px,42%);min-height:420px;border-bottom:1px solid var(--line);transition:.25s;background:transparent}
.project-row:hover{background:#e8e4da}
.project-index{padding:30px 20px;font-family:'Barlow Condensed';font-size:20px;border-right:1px solid var(--line)}
.project-copy{padding:36px clamp(28px,4vw,66px);display:flex;flex-direction:column;justify-content:space-between}
.project-copy h3{font-family:'Barlow Condensed';font-size:clamp(44px,5vw,76px);line-height:.9;text-transform:uppercase;margin:0;max-width:650px}
.project-meta{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#68665f;display:flex;gap:20px;flex-wrap:wrap}
.project-link{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;display:inline-flex;align-items:center;gap:10px}
.project-link:after{content:"↗";font-size:20px;color:var(--accent)}
.project-photo{min-height:420px;background-size:cover;background-position:center;position:relative}
.project-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}

.statement{background:var(--ink);color:#fff;padding:clamp(80px,11vw,170px) var(--pad);overflow:hidden}
.statement-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end}
.statement .display{font-size:clamp(72px,11vw,180px)}
.statement p{font-size:clamp(19px,2.1vw,30px);color:#c9c6bd;max-width:620px}
.statement-tag{color:var(--accent);font-family:'Barlow Condensed';font-size:clamp(34px,5vw,70px);font-weight:800;text-transform:uppercase}

/* capability rail */
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:60px}
.capability{min-height:310px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.2s}
.capability:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}
.capability-number{font-family:'Barlow Condensed';font-weight:800;color:var(--accent);font-size:18px}
.capability h3{font-family:'Barlow Condensed';font-size:46px;line-height:.95;text-transform:uppercase;margin:0}
.capability p{font-size:13px;max-width:280px;color:#65635d}.capability:hover p{color:#c9c6bd}

/* review ticker */
.proof{background:#ded9ce;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;overflow:hidden}
.proof-track{display:flex;width:max-content;gap:22px;animation:marquee 40s linear infinite}
.proof-chip{background:var(--paper);border:1px solid var(--line);padding:18px 24px;min-width:340px;max-width:470px;font-size:14px}
.proof-chip strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-top:12px;color:#69675f}
@keyframes marquee{to{transform:translateX(-50%)}}

/* split CTA */
.cta-split{display:grid;grid-template-columns:1.2fr .8fr;min-height:520px;border-top:1px solid var(--line)}
.cta-copy{padding:clamp(60px,8vw,110px) var(--pad)}
.cta-copy .display{font-size:clamp(72px,9vw,145px)}
.cta-action{background:var(--accent);display:flex;align-items:center;justify-content:center;padding:40px}
.big-arrow{width:min(250px,70%);aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:90px;transition:.25s}
.cta-action:hover .big-arrow{transform:rotate(45deg);background:var(--ink);color:#fff}

footer{padding:52px var(--pad) 30px;background:#151513;color:#fff}
.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}
.footer-brand{font-family:'Barlow Condensed';font-size:52px;font-weight:900;line-height:.8;text-transform:uppercase}
.footer-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#77766f;margin:0 0 18px}.footer-col a,.footer-col span{display:block;font-size:13px;margin:8px 0;color:#d0cec8}
.footer-bottom{max-width:var(--max);margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#77766f}

/* interiors */
.page-hero{padding:clamp(70px,8vw,130px) var(--pad) 70px;max-width:var(--max);margin:auto}
.page-hero .display{font-size:clamp(86px,13vw,205px)}
.page-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}
.page-hero p{font-size:18px;max-width:500px;color:#55524c}
.filterbar{display:flex;gap:8px;flex-wrap:wrap;padding:0 var(--pad) 30px;max-width:var(--max);margin:auto}
.filter{border:1px solid var(--line);background:transparent;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff}

.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:0 var(--pad) clamp(80px,10vw,150px);max-width:var(--max);margin:auto}
.work-card{position:relative;min-height:420px;overflow:hidden;background:#ccc;grid-column:span 6}.work-card.wide{grid-column:span 8}.work-card.narrow{grid-column:span 4}.work-card.tall{min-height:600px}
.work-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:.5s}.work-card:hover .work-card-bg{transform:scale(1.04)}
.work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 65%)}
.work-card-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}.work-card h3{font-family:'Barlow Condensed';font-size:clamp(38px,4vw,62px);line-height:.92;text-transform:uppercase;margin:8px 0}.work-card .project-meta{color:rgba(255,255,255,.7)}

.service-bands{max-width:var(--max);margin:auto;padding:0 var(--pad) 120px}
.service-band{display:grid;grid-template-columns:120px .8fr 1.2fr;border-top:1px solid var(--line);padding:38px 0;gap:30px;align-items:start}.service-band:last-child{border-bottom:1px solid var(--line)}
.service-band .num{font-family:'Barlow Condensed';font-size:18px;color:var(--accent);font-weight:800}.service-band h2{font-family:'Barlow Condensed';font-size:clamp(50px,6vw,90px);text-transform:uppercase;line-height:.85;margin:0}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-details p{margin:0;color:#56534d}.service-list{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:2}

.about-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:start}.about-intro .display{font-size:clamp(72px,9vw,145px)}
.about-quote{font-family:'Barlow Condensed';font-size:clamp(34px,4.2vw,66px);font-weight:700;line-height:1;text-transform:uppercase;border-left:4px solid var(--accent);padding-left:28px}
.value-list{margin-top:60px;border-top:1px solid var(--line)}.value-row{display:grid;grid-template-columns:90px 1fr 1fr;padding:28px 0;border-bottom:1px solid var(--line);gap:30px}.value-row strong{font-family:'Barlow Condensed';font-size:36px;text-transform:uppercase}.value-row p{margin:0;color:#5b5852}

/* estimate experience */
.estimate-shell{min-height:calc(100vh - 88px);display:grid;grid-template-columns:.85fr 1.15fr}.estimate-side{background:var(--ink);color:#fff;padding:clamp(48px,6vw,90px) var(--pad);display:flex;flex-direction:column;justify-content:space-between}.estimate-side .display{font-size:clamp(72px,8vw,128px)}.estimate-side p{color:#aaa79f;max-width:520px}.estimate-form{padding:clamp(48px,6vw,90px) var(--pad);display:flex;align-items:center}.form-panel{width:100%;max-width:760px;margin:auto}.form-step{display:none}.form-step.active{display:block}.step-count{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#6b6861;margin-bottom:20px}.question{font-family:'Barlow Condensed';font-size:clamp(48px,6vw,82px);font-weight:800;line-height:.95;text-transform:uppercase;margin:0 0 36px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{border:1px solid var(--line);padding:22px;background:transparent;text-align:left;font-family:'Barlow Condensed';font-weight:700;font-size:26px;text-transform:uppercase;cursor:pointer;min-height:100px}.choice:hover,.choice.selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.fields{display:grid;gap:16px}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.3);padding:16px;outline:none}.field textarea{min-height:130px;resize:vertical}.upload-box{border:1px dashed #8f8b82;padding:34px;text-align:center;color:#656159;background:#ebe7dd}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:14px 20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;cursor:pointer}.btn.secondary{background:transparent;color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}
.demo-note{border:1px solid #d4b6aa;background:#f5ded6;padding:14px 16px;font-size:12px;margin-bottom:24px}

/* project detail */
.project-detail-hero{min-height:72vh;background:#111;color:#fff;position:relative;display:flex;align-items:end}.project-detail-bg{position:absolute;inset:0;background-size:cover;background-position:center}.project-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05))}.project-detail-title{position:relative;z-index:2;padding:var(--pad);max-width:var(--max);width:100%;margin:auto}.project-detail-title .display{font-size:clamp(72px,11vw,170px);max-width:1100px}.project-detail-title .project-meta{color:rgba(255,255,255,.72);margin-bottom:20px}.project-story{max-width:var(--max);margin:auto;padding:90px var(--pad);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.project-facts{position:sticky;top:120px;align-self:start;border-top:1px solid var(--line)}.fact{padding:16px 0;border-bottom:1px solid var(--line)}.fact span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#6d6a63;display:block}.fact strong{font-family:'Barlow Condensed';font-size:26px;text-transform:uppercase}.story-copy p{font-size:clamp(18px,1.8vw,24px);color:#4f4c46;margin:0 0 26px}.story-copy h2{font-family:'Barlow Condensed';font-size:clamp(48px,5vw,78px);text-transform:uppercase;line-height:.9;margin:60px 0 22px}

.modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.74);display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-card{background:var(--paper);max-width:560px;padding:38px;position:relative}.modal-card h3{font-family:'Barlow Condensed';font-size:48px;text-transform:uppercase;line-height:.9;margin:0 0 18px}.modal-card p{color:#56534d}.modal-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:24px;cursor:pointer}

@media(max-width:980px){
  .nav{display:none}.menu-btn{display:block}.nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:24px var(--pad);flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .hero-workbench,.estimate-shell{grid-template-columns:1fr}.hero-copy{min-height:620px}.work-picker{min-height:650px}.statement-inner,.page-hero-grid,.about-intro,.cta-split{grid-template-columns:1fr}
  .project-row{grid-template-columns:70px 1fr}.project-photo{grid-column:1/-1;min-height:360px}.project-index{grid-row:1}.project-copy{grid-row:1}
  .capability-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.work-card,.work-card.wide,.work-card.narrow{grid-column:span 6}.service-band{grid-template-columns:70px 1fr}.service-details{grid-column:2}.project-story{grid-template-columns:1fr}.project-facts{position:static}.estimate-side{min-height:420px}
}
@media(max-width:640px){
  .topbar{height:72px}.brand{font-size:22px}.brand-mark{width:36px;height:36px}.hero-workbench{min-height:0}.hero-copy{min-height:560px;padding-top:50px}.hero-copy h1{font-size:78px}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats .hero-stat:last-child{grid-column:1/-1}.work-picker{min-height:570px}.work-option{font-size:34px;padding:15px 0}.section-title{font-size:60px}.project-row{grid-template-columns:1fr}.project-index{display:none}.project-copy{grid-row:auto;min-height:310px}.project-photo{min-height:320px}.capability-grid{grid-template-columns:1fr}.capability{min-height:240px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.page-hero .display{font-size:82px}.work-grid{display:block}.work-card{margin-bottom:14px;min-height:420px}.work-card.tall{min-height:500px}.service-band{grid-template-columns:1fr;padding:30px 0}.service-details{grid-column:auto;grid-template-columns:1fr}.value-row{grid-template-columns:60px 1fr}.value-row p{grid-column:2}.choice-grid{grid-template-columns:1fr}.estimate-side .display{font-size:74px}.demo-ribbon{right:10px;bottom:10px;font-size:9px;padding:8px 10px}.project-detail-title .display{font-size:70px}.project-story{padding-top:60px}
}
