@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#152e36;--dark:#102b34;--red:#883d48;--paper:#f6f7f4;--muted:#617076;--line:#dce2df;--mint:#b9dfce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.12;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(44px,5.5vw,80px);font-weight:600}h2{font-size:clamp(32px,3.4vw,48px);font-weight:500}h3{font-size:23px}p{margin:0 0 22px}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:3px solid #aa6974;outline-offset:5px}.wrap{max-width:1232px;margin:auto;padding-left:40px;padding-right:40px}.section{padding-top:92px;padding-bottom:92px}.top{background:var(--dark);color:#d9e6e7;padding:9px 40px;display:flex;gap:30px;font-size:10px;letter-spacing:.13em}.top .demo{margin-left:auto;letter-spacing:.02em}.top a{color:white}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:16px 32px;gap:28px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:76px;height:47px;object-fit:contain}.brand span{font:bold 24px Manrope,sans-serif;letter-spacing:.04em}.brand small{display:block;font-size:7px;letter-spacing:.14em;margin-top:4px}nav{display:flex;align-items:center;gap:25px;font-size:13px}nav a[aria-current]{color:var(--red);font-weight:bold}.nav-cta{background:var(--ink);color:white;padding:11px 16px}.lang{font-size:12px;white-space:nowrap}.menu{display:none}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:22px;color:var(--red)}.hero{background:var(--dark);color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:70px;padding-bottom:75px}.hero .eyebrow{color:var(--mint)}.hero h1{font-size:clamp(52px,6vw,84px);line-height:1.02;margin-bottom:26px}.hero em{font-style:normal;color:var(--mint)}.hero-copy p{max-width:445px;color:#c1d0d3;font-size:15px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 24px;background:var(--red);color:white;border:1px solid var(--red);font-size:13px;font-weight:600;text-decoration:none}.button:hover{background:#6c2b35;text-decoration:none}.text-link{background:none;border:0;padding:0;border-bottom:1px solid currentColor;font-size:13px}.hero-visual{position:relative;min-height:465px;padding-top:36px}.technical-label{position:absolute;top:0;right:0;font-size:10px;letter-spacing:.15em;color:#a7c0c5}.photo-primary{position:absolute;top:30px;right:0;width:88%;border:9px solid #29444b;transform:rotate(-3deg)}.photo-primary img{width:100%;aspect-ratio:1.43;object-fit:cover}.photo-secondary{position:absolute;bottom:42px;left:0;width:51%;border:7px solid var(--paper);box-shadow:0 16px 45px #0005;transform:rotate(3deg)}.photo-secondary img{width:100%;aspect-ratio:1.43;object-fit:cover}.photo-note{position:absolute;right:0;bottom:0;width:43%;font-size:15px}.photo-note span{display:block;color:var(--mint);font-size:10px;letter-spacing:.15em;margin-bottom:8px}.photo-note small{display:block;color:#a7c0c5;font-size:10px;margin-top:12px}.trust{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-top:25px;padding-bottom:25px;font-size:12px}.trust span:before{content:'＋';color:var(--red);margin-right:10px}.section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:40px}.section-head p{max-width:370px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 25px}.card-image{overflow:hidden;margin-bottom:20px;background:#e1e5e3}.card-image img{width:100%;aspect-ratio:1.65;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.045)}.service-card:hover{text-decoration:none}.service-card .num{color:var(--red);font-size:11px}.service-card h3{font-size:21px;margin:12px 0;display:flex;justify-content:space-between;gap:15px}.service-card p{font-size:14px;color:var(--muted)}.about-band{padding:70px 0;background:#e9eeeb}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.two-col p{color:var(--muted)}.cta{display:flex;align-items:center;justify-content:space-between;background:var(--red);color:white;margin-top:75px;margin-bottom:75px;padding-top:55px;padding-bottom:55px}.cta .eyebrow{color:#f2d8dd}.cta h2{margin:0}.button.light{background:white;color:var(--red);border-color:white}footer{padding-top:30px;padding-bottom:32px}.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.foot-grid b{font-size:13px}.foot-grid p{font-size:12px;color:var(--muted);margin-top:17px}.wordmark{font:bold 32px Manrope,sans-serif;letter-spacing:.03em}.wordmark span{font-size:12px;vertical-align:top;color:var(--red)}.foot-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.foot-bottom div{display:flex;gap:18px}.intro{padding-top:70px;padding-bottom:55px;border-bottom:1px solid var(--line)}.intro p{max-width:670px;color:var(--muted);margin-bottom:0}.intro h1{font-size:clamp(42px,5vw,66px)}.feature-image{width:100%;aspect-ratio:1.2;object-fit:cover}.service-detail{display:grid;grid-template-columns: .8fr 1fr;gap:75px;padding-top:65px;padding-bottom:65px;border-bottom:1px solid var(--line)}.service-detail img{width:100%;aspect-ratio:1.4;object-fit:cover}.service-detail p{color:var(--muted)}.service-detail .actions{font-size:13px}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:35px 0 10px}.filters button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 15px;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#gallery-count{font-size:12px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-card{padding:0;border:0;background:white;text-align:left;color:var(--ink)}.gallery-card img{width:100%;aspect-ratio:1.43;object-fit:cover}.gallery-card span{display:flex;justify-content:space-between;padding:16px;font-size:13px}.gallery-card b{color:var(--red)}[hidden]{display:none!important}.gallery-section{padding-bottom:60px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.big-contact{font:500 40px Manrope,sans-serif;display:block;margin-bottom:20px}.contact-block .eyebrow{margin-top:25px}.contact-block p{font-size:14px;color:var(--muted)}.location-card{background:var(--dark);color:white;padding:40px}.location-card .eyebrow{color:var(--mint)}.location-card p{color:#c1d0d3;font-size:14px}.form-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;padding-top:50px;padding-bottom:80px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;margin-bottom:20px}input,textarea,select{display:block;width:100%;margin-top:8px;border:1px solid #b8c7c7;background:white;border-radius:0;padding:12px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid var(--red);outline-offset:2px}.check{display:flex;gap:10px;align-items:center}.check input{width:18px;height:18px;margin:0}.check a{text-decoration:underline}aside{padding:32px;background:#e9eeeb;align-self:start;font-size:14px}aside h3{font-size:28px}aside small{color:var(--muted)}hr{border:0;border-top:1px solid #cbd6d0;margin:28px 0}.summary{grid-column:1/-1;background:white;padding:30px;border:1px solid var(--line)}pre{font:14px/1.7 'DM Sans',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.outline{background:transparent;color:var(--red)}.summary p{font-size:13px;margin-top:20px}.legal{max-width:930px;padding-top:45px;padding-bottom:70px;font-size:14px;overflow-wrap:anywhere}.legal h2{font-size:30px;margin-top:30px}.legal p{margin-bottom:18px}.notice{background:#e8eeeb;padding:25px;margin-bottom:35px;border-left:3px solid var(--red)}.notice p{margin:10px 0 0}.legal a{text-decoration:underline}dialog{border:0;padding:36px;max-width:min(720px,94vw);width:100%;color:var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#051b23c9;backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:6px;border:0;background:white;color:var(--ink);font-size:28px;line-height:1;width:32px;height:32px}#viewer img{max-height:65vh;min-width:260px;max-width:100%;width:auto;margin:auto;object-fit:contain}#viewer p{margin:20px 0 0;font-size:14px;text-align:center}#map-dialog h2{font-size:30px}#map-dialog p{font-size:13px}#map-slot{background:#e9eeeb;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:20px 0}#map-slot small{padding:15px;font-size:11px}iframe{width:100%;height:350px;border:0}.mobile-bar{display:none}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}
@media(min-width:1500px){header{padding-left:max(40px,calc((100vw - 1232px)/2));padding-right:max(40px,calc((100vw - 1232px)/2))}}@media(max-width:1100px){header{gap:18px;padding:14px 22px}nav{gap:15px}.brand span{font-size:19px}.brand small{font-size:6px}.brand img{width:55px}.hero-inner{gap:25px}.hero-visual{min-height:440px}.hero-copy p{font-size:14px}.hero .actions{gap:15px}.section-head{gap:40px}}@media(max-width:850px){.wrap{padding-left:24px;padding-right:24px}.top{padding:8px 24px}.top .demo{display:none}header{padding:13px 20px;flex-wrap:wrap;gap:14px}.brand{margin-right:auto}.brand img{width:55px}.brand span{font-size:18px}.menu{display:block;background:none;border:1px solid var(--line);padding:6px 10px;font-size:12px}.lang{font-size:11px}nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px;border-top:1px solid var(--line)}.hero-inner{grid-template-columns:1fr;padding-top:46px;padding-bottom:40px}.hero h1{font-size:64px}.hero-copy p{font-size:16px;max-width:550px}.hero-visual{min-height:430px;max-width:550px;width:100%;margin:auto}.trust{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:16px}.section{padding-top:55px;padding-bottom:55px}.section-head,.two-col,.service-detail,.contact-grid,.form-layout{grid-template-columns:1fr;gap:30px}.section-head p{max-width:600px}.service-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.service-card h3{font-size:20px}.two-col{gap:30px}.cta{margin-top:45px;margin-bottom:45px;flex-direction:column;align-items:flex-start;gap:30px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}.foot-bottom{flex-direction:column}.foot-bottom div{flex-wrap:wrap;gap:14px}footer{padding-bottom:100px!important}.intro{padding-top:45px;padding-bottom:40px}.gallery{grid-template-columns:1fr 1fr;gap:18px}.service-detail{padding-top:40px;padding-bottom:40px}.service-detail img{max-height:320px}.feature-image{max-height:350px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:1fr 1.5fr;background:white;box-shadow:0 -4px 20px #102b3412;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{text-align:center;padding:15px;font-size:12px;font-weight:bold}.mobile-bar a:last-child{background:var(--red);color:white}.summary{padding:22px}.big-contact{font-size:34px}}@media(max-width:480px){.hero h1{font-size:54px}.hero-visual{min-height:340px}.photo-primary{width:88%;top:35px}.photo-secondary{bottom:45px;width:51%}.photo-note{font-size:12px}.photo-note small{font-size:9px}.technical-label{font-size:8px}.brand small{font-size:5px}.brand img{width:43px}.brand span{font-size:16px}header{gap:10px;padding-left:14px;padding-right:14px}.menu{font-size:11px;padding:6px}.hero-copy p{font-size:14px}.service-grid,.gallery,.form-grid{grid-template-columns:1fr}.service-card .card-image img{aspect-ratio:1.7}.section-head{gap:0}.service-grid{gap:30px}.foot-grid{grid-template-columns:1fr}.foot-grid>div:first-child{grid-column:auto}.contact-grid{gap:25px}.location-card{padding:26px}.button{padding:13px 18px}.intro h1{font-size:43px}.gallery-card img{aspect-ratio:1.55}.form-layout{gap:30px}.hero .actions{align-items:flex-start;flex-direction:column}.hero-visual{margin-top:20px}dialog{padding:35px 20px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Portfolio refresh: original photographs, generous editorial framing. */
.portfolio{padding-top:12px}.portfolio .filters{gap:10px;padding-bottom:26px}.portfolio .filters button{border-radius:30px;padding:12px 20px;background:transparent;transition:background .2s,color .2s}.portfolio .filters button:hover{background:#e5ebe7}.portfolio .filters button[aria-pressed=true]{background:var(--ink);color:white}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0;font-size:10px;letter-spacing:.15em}.gallery-toolbar p{margin:0;letter-spacing:0}.portfolio .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.portfolio .gallery-card{position:relative;border-radius:8px;overflow:hidden;background:#e7ece9;border:1px solid #dde4df;padding:26px 26px 0;transition:transform .25s,box-shadow .25s}.portfolio .gallery-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #102b3412}.portfolio .gallery-card img{height:270px;aspect-ratio:auto;object-fit:contain;background:#dce3df;border-radius:3px}.portfolio .gallery-card .project-caption{position:relative;display:block;padding:24px 48px 25px 0}.project-caption small{display:block;font-size:9px;font-weight:500;letter-spacing:.18em;color:var(--red);margin-bottom:8px}.project-caption strong{display:block;font:600 23px/1.25 Manrope,sans-serif;letter-spacing:-.025em}.project-caption em{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-top:12px}.project-caption b{position:absolute;right:0;top:35px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #c5d1cc;border-radius:50%;font-weight:400;background:#f6f7f4}.photo-primary{transform:none;border:0;border-radius:5px;overflow:hidden;width:91%;box-shadow:0 20px 50px #0003}.photo-primary img{aspect-ratio:1.5}.photo-secondary{transform:none;border:5px solid #f6f7f4;border-radius:4px;overflow:hidden;bottom:30px}.photo-note{bottom:0}.photo-note small{font-size:9px}
@media(max-width:850px){.portfolio .gallery{gap:20px}.portfolio .gallery-card{padding:16px 16px 0}.portfolio .gallery-card img{height:220px}.project-caption strong{font-size:21px}.photo-note{bottom:0}}
@media(max-width:560px){.portfolio .gallery{grid-template-columns:1fr;gap:24px}.portfolio .gallery-card img{height:230px}.portfolio .filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-24px;padding-right:24px}.portfolio .filters button{flex-shrink:0;font-size:11px;padding:10px 15px}.portfolio .gallery-card .project-caption{padding-top:20px}.project-caption strong{font-size:23px}.photo-secondary{bottom:34px}.photo-note{bottom:2px}}
