body{font-family:'DM Sans',Arial,sans-serif;font-weight:400;line-height:1.75}
.brand{font-weight:700;letter-spacing:-.5px;font-size:20px}.brand small{font-size:9px;letter-spacing:1.7px}.brand-icon{font-weight:700;font-size:25px}
nav{font-size:13px;font-weight:500}.button{font-weight:600;font-size:13px;padding:15px 22px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px}
.hero{grid-template-columns:1.2fr 1fr;gap:76px;padding:65px 0 75px;min-height:660px}
.hero h1{font-size:clamp(44px,4.8vw,66px);font-weight:600;letter-spacing:-2.3px;line-height:1.13;margin:28px 0 24px}
.hero h1 span{display:block;font-size:clamp(29px,3vw,42px);font-weight:500;letter-spacing:-1.15px;line-height:1.3;margin-top:18px}
.hero .intro{font-size:16px;line-height:1.85;max-width:500px}.hero .intro strong{font-weight:500}.hero-meta{font-size:10px;gap:20px;line-height:1.5}.hero-meta span:first-child{padding-right:20px}
.hero-portrait{position:relative;margin:0;max-width:450px;justify-self:end;overflow:hidden;border-radius:7px;background:#272c32;border:1px solid #3a4046;width:100%;box-shadow:0 16px 40px #0002}
.hero-portrait>img{width:100%;height:500px;object-fit:cover;object-position:center 34%;display:block}
.hero-portrait figcaption{padding:16px 20px;background:#1a2026;border-top:1px solid #353c43;display:flex;flex-direction:column;gap:3px}
.hero-portrait figcaption span{font-size:12px;font-weight:500}.hero-portrait figcaption small{font-size:10px;color:var(--muted)}
.ribbon{padding:13px 0;transform:rotate(-1deg)}.ribbon div{font-size:clamp(12px,1.55vw,19px);font-weight:600;letter-spacing:.3px}.ribbon b{font-size:22px;font-weight:400}
.section h2,.contact h2{font-weight:500;font-size:clamp(30px,3.4vw,44px);line-height:1.25;letter-spacing:-1.2px}.section-heading p{font-size:14px;line-height:1.85}.service h3{font-size:18px;font-weight:600;line-height:1.5}.service p{line-height:1.85}.service .note{font-size:9px;letter-spacing:.8px}.band strong{font-size:17px;font-weight:500}
.project h3{font-size:23px;font-weight:600}.project p{line-height:1.8}.featured .project-visual{padding:0;background:#26302d;height:470px}.enjoy-photo{height:100%;width:100%;object-fit:cover;display:block}.enjoy-brand{position:absolute;bottom:25px;left:25px;padding:20px 24px;background:#fffffff2;display:flex;flex-direction:column;gap:10px;max-width:calc(100% - 50px);box-shadow:0 8px 25px #0003}.enjoy-brand img{width:180px;height:auto;display:block}.enjoy-brand span{font-size:10px;font-weight:500;color:#393944;letter-spacing:.2px}
.about-grid{gap:75px;grid-template-columns:1.05fr 1fr}.about-copy p{font-size:14px;line-height:1.9}.about-photo{margin:28px 0 25px;max-width:340px}.about-photo img{display:block;width:100%;height:330px;object-fit:cover;object-position:center 38%;border-radius:4px}.about-photo figcaption{font-size:10px;margin-top:8px;color:var(--muted)}.timeline-item h3{font-size:16px;font-weight:600;line-height:1.6}.timeline-item p{font-size:13px;line-height:1.85}.step span{font-family:'DM Sans',Arial,sans-serif;font-size:30px;font-weight:400}.step h3{font-weight:600;font-size:18px}.step p{font-size:14px;line-height:1.85}.skills span{font-size:11px}
.contact h2{font-size:clamp(36px,4.3vw,58px);font-weight:500}.contact h2 em{font-style:normal}.contact p{line-height:1.85}.footer{line-height:1.7}.page-hero h1{font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.25;letter-spacing:-1.5px}.page-hero .lead{font-size:18px;line-height:1.8}.article h2{font-size:26px;font-weight:600}.article p,.article li{font-size:15px;line-height:1.9}.case-photo{margin:40px 0 0;max-width:1050px}.case-photo img{display:block;width:100%;height:460px;object-fit:cover;border-radius:4px}.case-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}
@media(max-width:1000px){.hero{gap:38px}.hero-portrait>img{height:440px}.hero h1{font-size:48px}.hero h1 span{font-size:32px}.about-grid{gap:45px}.hero-meta{flex-wrap:wrap}.hero-meta span:first-child{border-right:0}.brand{font-size:18px}}
@media(max-width:700px){.hero{grid-template-columns:1fr;gap:35px;padding:45px 0 55px}.hero h1{font-size:44px;letter-spacing:-1.5px}.hero h1 span{font-size:29px;letter-spacing:-.7px;margin-top:14px}.hero .intro{font-size:15px}.hero-portrait{justify-self:center;max-width:420px}.hero-portrait>img{height:430px}.hero-meta{gap:12px;font-size:10px}.ribbon div{font-size:13px}.section h2{font-size:32px}.about-grid{grid-template-columns:1fr;gap:20px}.about-photo{max-width:100%}.about-photo img{height:400px;object-position:center 38%}.featured .project-visual{height:350px}.enjoy-brand{left:18px;bottom:18px;padding:16px;max-width:calc(100% - 36px)}.enjoy-brand img{width:150px}.case-photo img{height:290px}.page-hero .lead{font-size:16px}.brand small{letter-spacing:1px;font-size:8px}.brand{font-size:17px}.contact h2{font-size:38px}}
@media(max-width:380px){.hero h1{font-size:39px}.hero h1 span{font-size:26px}.hero-portrait>img{height:380px}.hero-meta{font-size:9px}}
@media print{.hero-portrait,.about-photo,.case-photo{display:none}.hero{display:block}.hero h1{font-size:32px}.hero h1 span{font-size:22px;color:#333}.section h2{font-size:24px}.about-grid{display:block}}
