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

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,Arial,sans-serif}
img,video{display:block;max-width:100%}
figure{margin:0}
a{text-decoration:none;color:inherit}
.shell{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.topline a{text-decoration:underline;text-underline-offset:4px}
.site-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px}
.brand{font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;line-height:1.15}
.brand small{display:block;font-weight:600;font-size:9px;letter-spacing:.11em;margin-top:6px}
.nav-links{display:flex;gap:28px;align-items:center;font-size:12px;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 22px;border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.section-head h2{font-size:clamp(32px,4vw,62px);line-height:1.08;letter-spacing:-.055em;margin:10px 0 0}
.section-head p{font-size:14px;line-height:1.65;max-width:380px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-card{min-height:250px;padding:26px;display:flex;flex-direction:column}
.service-card .num{font-size:11px;font-weight:800;letter-spacing:.18em;opacity:.6}
.service-card h3{font-size:21px;letter-spacing:-.045em;line-height:1.24;margin:auto 0 12px}
.service-card p{font-size:13px;line-height:1.6;margin:0;opacity:.74}
.work-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.work-card{min-width:0}
.work-card img,.work-card video{width:100%;height:410px;object-fit:cover}
.work-card figcaption{font-size:12px;font-weight:700;padding:14px 0}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.step{border-top:1px solid;padding-top:20px}
.step strong{display:block;font-size:12px;margin-bottom:30px}
.step h3{font-size:19px;letter-spacing:-.04em;margin:0 0 10px}
.step p{font-size:13px;line-height:1.6;margin:0;opacity:.75}
.contact-panel{padding:70px;display:flex;justify-content:space-between;align-items:center;gap:36px}
.contact-panel h2{font-size:clamp(38px,5vw,76px);line-height:1.07;letter-spacing:-.06em;margin:12px 0 16px}
.contact-panel p{font-size:14px;line-height:1.65;max-width:500px;margin:0}
.contact-action{border:1px solid currentColor;border-radius:100px;padding:17px 26px;font-size:12px;font-weight:800;white-space:nowrap}
.footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0 50px;font-size:11px;opacity:.6}

/* Calm, tactile direction */
.v1{background:#f2efe7;color:#2e382f}
.v1 .topline{border-bottom:1px solid #d8dbd2;color:#758074}
.v1 .site-nav .button,.v1 .button-primary{background:#3c5140;color:#fff}
.v1 .hero{display:grid;grid-template-columns:48% 52%;min-height:650px;background:#e6e4da}
.v1 .hero-copy{padding:90px max(44px,calc((100vw - 1320px)/2)) 78px max(44px,calc((100vw - 1320px)/2));padding-right:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v1 .hero h1{font:500 clamp(55px,6vw,96px)/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:26px 0}
.v1 .hero p{font-size:16px;line-height:1.72;max-width:470px;margin:0 0 30px;color:#687468}
.v1 .hero-image{background:url('assets/texture.jpg') center/cover;position:relative}
.v1 .hero-image span{position:absolute;bottom:25px;right:25px;background:#f7f5eee8;padding:13px 16px;font-size:11px;font-weight:700}
.v1 .section-head h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.035em}
.v1 .service-card{background:#e8e9e1;border:1px solid #d7ddd2}
.v1 .service-card:nth-child(1),.v1 .service-card:nth-child(6){background:#dae3d6}
.v1 .work-card img{filter:saturate(.86)}
.v1 .step{border-color:#b8c2b6}
.v1 .contact-panel{background:#d9e4d8}
.v1 .footer{border-top:1px solid #d6dbd2}

/* Dark gallery direction */
.v2{background:#101a20;color:#f1f1e9}
.v2 .topline{border-bottom:1px solid #44515a;color:#aab9be}
.v2 .site-nav .button{border:1px solid #c0d1d0}
.v2 .hero{min-height:720px;background:linear-gradient(90deg,#101a20 1%,#101a20ee 31%,#101a20aa 100%),url('assets/mural.jpg') center/cover;display:flex;align-items:center}
.v2 .hero-copy{padding:90px 0;max-width:830px}
.v2 .hero h1{font:400 clamp(58px,7.4vw,112px)/.99 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:25px 0}
.v2 .hero p{font-size:16px;line-height:1.75;color:#c1cfd0;max-width:490px;margin:0 0 34px}
.v2 .button-primary{background:#d9e6e1;color:#142229}
.v2 .section-head h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}
.v2 .gallery-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}
.v2 .gallery-feature img,.v2 .gallery-feature video{width:100%;height:570px;object-fit:cover}
.v2 .gallery-feature video{background:#0b1114}
.v2 .gallery-feature figcaption{font-size:12px;font-weight:700;margin-top:13px;color:#bacbcc}
.v2 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #43525a}
.v2 .service-card{background:none;border-bottom:1px solid #43525a;min-height:190px;padding:27px 24px 30px 0}
.v2 .service-card:nth-child(odd){border-right:1px solid #43525a;margin-right:26px}
.v2 .service-card h3{font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:400;margin:22px 0 9px}
.v2 .service-card p{color:#c0cbcc}
.v2 .step{border-color:#607078}
.v2 .contact-panel{background:#1e333b;border:1px solid #3e6066}
.v2 .footer{border-top:1px solid #384750}

/* Clear service catalogue direction */
.v3{background:#f4efe6;color:#2d2e2b}
.v3 .topline{border-bottom:1px solid #d9d1c5;color:#8c765c}
.v3 .site-nav .button,.v3 .button-primary{background:#af8350;color:#fff}
.v3 .hero{display:grid;grid-template-columns:52% 48%;min-height:650px;background:#ece5d9}
.v3 .hero-copy{padding:80px 8% 70px max(44px,calc((100vw - 1320px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v3 .hero h1{font-size:clamp(50px,6.1vw,92px);font-weight:800;line-height:1.04;letter-spacing:-.075em;margin:20px 0}
.v3 .hero p{font-size:16px;line-height:1.7;color:#666158;max-width:490px;margin:0 0 30px}
.v3 .hero-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:650px;gap:7px;padding:7px;background:#d9d3c8;overflow:hidden}
.v3 .hero-collage img{width:100%;height:100%;min-height:0;object-fit:cover}
.v3 .hero-collage img:first-child{grid-row:1/3}
.v3 .section-head h2{font-weight:800}
.v3 .service-card{background:#fcf9f3;border:1px solid #ddd4c7}
.v3 .service-card .num{color:#a67d4d}
.v3 .work-card img{height:350px}
.v3 .step{border-color:#c6bba9}
.v3 .contact-panel{background:#e7d9c5}
.v3 .footer{border-top:1px solid #dcd0c2}
.faq{border-top:1px solid #d8ccbc}
.faq details{border-bottom:1px solid #d8ccbc;padding:22px 0}
.faq summary{cursor:pointer;font-size:17px;font-weight:700;letter-spacing:-.025em}
.faq p{font-size:13px;line-height:1.65;color:#666158;max-width:680px;margin:15px 0 0}

@media(max-width:900px){
  .shell{width:min(100% - 36px,1320px)}
  .nav-links{display:none}
  .section{padding:70px 0}
  .section-head{display:block}.section-head p{margin-top:15px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card:first-child{grid-column:1/3}
  .v1 .hero,.v3 .hero{grid-template-columns:1fr}
  .v1 .hero-copy,.v3 .hero-copy{padding:68px 30px}
  .v1 .hero-image{min-height:450px}
  .v3 .hero-collage{height:470px}
  .v2 .hero{min-height:640px}.v2 .hero-copy{padding:70px 0}
  .v2 .gallery-feature{grid-template-columns:1fr 1fr}.v2 .gallery-feature img,.v2 .gallery-feature video{height:420px}
  .contact-panel{padding:44px}
}
@media(max-width:600px){
  .topline{font-size:9px}.site-nav{min-height:70px}.site-nav .button{min-height:40px;padding:0 14px;font-size:10px}.brand{font-size:11px}.brand small{font-size:8px}
  .v1 .hero h1,.v2 .hero h1,.v3 .hero h1{font-size:50px}
  .v1 .hero-copy,.v3 .hero-copy{padding:58px 22px}
  .v1 .hero-image{min-height:350px}.v3 .hero-collage{height:360px}
  .v2 .hero{min-height:610px;background-position:60% center}
  .section{padding:55px 0}.section-head h2{font-size:40px}
  .service-grid,.v2 .service-grid,.work-grid,.steps,.v2 .gallery-feature{grid-template-columns:1fr}
  .service-card,.v2 .service-card{min-height:180px}
  .v2 .service-card:nth-child(odd){border-right:0;margin-right:0}
  .work-card:first-child{grid-column:auto}.work-card img,.v2 .gallery-feature img,.v2 .gallery-feature video{height:360px}
  .contact-panel{padding:35px 24px;display:block}.contact-action{display:inline-block;margin-top:24px}
  .footer{display:block}.footer span{display:block;margin-top:8px}
}
