*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0a0a0a;color:#f2f0eb;font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(10,10,10,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;flex-direction:column;line-height:.9;letter-spacing:.13em;font-weight:800}.brand span{font-family:Manrope;font-size:14px}.brand small{font-size:8px;letter-spacing:.5em;margin-top:6px;opacity:.6}.nav nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.nav nav a{opacity:.72}.nav nav a:hover{opacity:1}.nav-actions{display:flex;align-items:center;gap:8px;font-size:11px}.lang{border:0;background:none;color:#aaa;padding:0;cursor:pointer;font-size:11px}.lang.active{color:#fff}.nav-cta{margin-left:15px;border:1px solid #eee;padding:10px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.menu{display:none;background:none;border:0;color:#fff;font-size:22px}.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:140px 8vw 80px;background:radial-gradient(circle at 78% 42%,rgba(201,161,91,.18),transparent 28%),linear-gradient(135deg,#0a0a0a,#111)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent 60%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow,.section-label{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#aaa}.hero h1{font-family:Manrope;font-size:clamp(64px,10vw,145px);line-height:.82;letter-spacing:-.07em;margin:25px 0 35px}.hero h1 em{font-style:normal;-webkit-text-stroke:1px #f2f0eb;color:transparent}.hero-copy{max-width:570px;color:#c5c2bb;font-size:16px}.hero-buttons{display:flex;gap:14px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.12em;font-size:10px;cursor:pointer}.button.primary{background:#f2f0eb;color:#0a0a0a;border-color:#f2f0eb}.button.ghost{background:transparent}.hero-meta{position:absolute;z-index:2;bottom:32px;left:8vw;right:8vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;color:#777}.hero-orb{position:absolute;width:46vw;height:46vw;right:-9vw;top:22%;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 100px rgba(193,154,87,.08),inset 0 0 80px rgba(255,255,255,.02)}.hero-orb:after,.hero-orb:before{content:"";position:absolute;inset:11%;border-radius:50%;border:1px solid rgba(255,255,255,.07)}.hero-orb:before{inset:24%}.section{padding:120px 8vw}.section-label{margin-bottom:65px}.intro{background:#efede7;color:#111}.intro .section-label{color:#777}.intro-grid,.sound-grid,.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.intro h2,.sound-grid h2,.contact h2{font-family:Manrope;font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0}.intro-copy{font-size:17px;color:#45433f}.intro-copy p:first-child{font-size:22px;color:#111}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb;margin-top:100px}.stats div{padding:24px 0;border-right:1px solid #bbb}.stats div:last-child{border-right:0}.stats strong{display:block;font-family:Manrope;font-size:32px}.stats span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#777}.services{background:#0a0a0a}.service-list{border-top:1px solid #333}.service{display:grid;grid-template-columns:90px 1fr 40px;gap:30px;padding:42px 0;border-bottom:1px solid #333;align-items:start}.service-number{font-size:11px;color:#777}.service h3{font-family:Manrope;font-size:42px;line-height:1;margin:0 0 14px;letter-spacing:-.04em}.service p{max-width:650px;color:#9d9a94;margin:0}.arrow{font-size:25px;color:#777}.service:hover h3{font-style:italic}.dark-panel{background:#151515}.sound-grid .eyebrow{margin-bottom:25px}.sound-grid p{color:#aaa;font-size:16px}.equipment{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.equipment span{border:1px solid #444;padding:8px 11px;font-size:9px;letter-spacing:.12em;color:#ccc}.quote{background:#c9a25e;color:#111;min-height:55vh;display:flex;flex-direction:column;justify-content:center}.quote-mark{font-family:Georgia;font-size:100px;line-height:.5}.quote blockquote{font-family:Manrope;font-size:clamp(38px,6vw,82px);line-height:1;letter-spacing:-.06em;max-width:1000px;margin:40px 0 0}.contact{background:#efede7;color:#111}.contact .section-label{color:#777}.contact-grid>div>p:not(.eyebrow){max-width:520px;color:#555;margin:28px 0}.email{display:inline-block;margin-top:15px;font-weight:700;border-bottom:1px solid #111;padding-bottom:5px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:flex;flex-direction:column;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#666}.contact input,.contact select,.contact textarea{border:0;border-bottom:1px solid #aaa;background:transparent;padding:12px 0;outline:none;color:#111;resize:vertical}.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:#111}.contact .full{grid-column:1/-1}.form-message{grid-column:1/-1;margin:0;font-size:12px;color:#555}footer{padding:30px 8vw;display:flex;justify-content:space-between;align-items:center;color:#777;font-size:10px;letter-spacing:.08em}footer .brand{color:#eee}footer>a{font-size:18px;color:#eee}@media(max-width:850px){.nav nav,.nav-actions{display:none}.menu{display:block}.hero{padding-left:7vw;padding-right:7vw}.hero h1{font-size:19vw}.hero-orb{width:85vw;height:85vw;right:-35vw;top:30%}.section{padding:85px 7vw}.intro-grid,.sound-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.stats{grid-template-columns:1fr 1fr;margin-top:60px}.stats div:nth-child(2){border-right:0}.stats div{border-bottom:1px solid #bbb}.service{grid-template-columns:45px 1fr 25px;gap:12px}.service h3{font-size:31px}.contact form{grid-template-columns:1fr}.contact .full{grid-column:auto}footer{flex-direction:column;gap:20px;text-align:center}}
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 46%,rgba(0,0,0,.28) 100%),var(--hero-image);background-size:cover;background-position:center}
.gallery{background:#111;padding-top:100px;padding-bottom:120px}.gallery .section-label{color:#777}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;align-items:stretch}.gallery figure{margin:0;position:relative;overflow:hidden;background:#1b1b1b;min-height:430px}.gallery-feature{min-height:620px!important}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;filter:saturate(.92)}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);padding:9px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#fff}.gallery figure:nth-child(2) img{object-position:center 38%}.gallery figure:nth-child(3) img{object-position:center 48%}
@media(max-width:850px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-feature{grid-column:1/-1;min-height:520px!important}.gallery figure{min-height:300px}.hero{background-position:58% center}}

/* Expanded photo gallery */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}
.gallery figure{min-height:360px}
.gallery-feature{grid-column:span 2;grid-row:span 2;min-height:740px!important}
.gallery-wide{grid-column:span 2;min-height:420px!important}
.gallery-tall{grid-row:span 2;min-height:740px!important}
.gallery img{object-position:center center}
@media(max-width:850px){
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-feature,.gallery-wide{grid-column:1/-1}
  .gallery-feature{min-height:560px!important}
  .gallery-wide{min-height:360px!important}
  .gallery-tall{grid-row:auto;min-height:520px!important}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr}
  .gallery-feature,.gallery-wide{grid-column:auto}
  .gallery figure,.gallery-feature,.gallery-wide,.gallery-tall{min-height:480px!important}
}
/* Keep the FR / EN page switch visible on mobile */
@media(max-width:850px){
  .nav-actions{display:flex;margin-left:auto;margin-right:18px}
  .nav-actions .nav-cta{display:none}
}


/* 2026-08 draft — original photos only */
.experience-photo{margin:70px 0 0;overflow:hidden;background:#ddd;aspect-ratio:16/7}
.experience-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.stats strong{font-size:clamp(24px,2.3vw,34px)}
.stats div:nth-child(3) strong{font-size:clamp(20px,2vw,30px);letter-spacing:-.03em}
.gallery-top-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
.gallery-top-row figure{min-height:610px}
.gallery-top-row figure:nth-child(1) img{object-position:center 40%}
.gallery-top-row figure:nth-child(2) img{object-position:center center}
.gallery-top-row figure:nth-child(3) img{object-position:center 42%}
.gallery-more{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}
.gallery-more figure{min-height:360px}
.gallery-more .gallery-wide{grid-column:span 2;min-height:430px!important}
.gallery-more .gallery-tall{grid-row:span 2;min-height:740px!important}
@media(max-width:850px){
 .experience-photo{aspect-ratio:4/3;margin-top:45px}
 .gallery-top-row{grid-template-columns:1fr}
 .gallery-top-row figure{min-height:520px}
 .gallery-more{grid-template-columns:1fr 1fr}
 .gallery-more .gallery-wide{grid-column:1/-1}
}
@media(max-width:560px){
 .gallery-more{grid-template-columns:1fr}
 .gallery-more .gallery-wide{grid-column:auto}
 .gallery-top-row figure,.gallery-more figure,.gallery-more .gallery-wide,.gallery-more .gallery-tall{min-height:460px!important}
}


/* Testimonials */
.testimonials{background:#0d0d0d;border-top:1px solid #242424;border-bottom:1px solid #242424}
.testimonials .section-label{color:#777}
.testimonials-head{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;margin-bottom:58px}
.testimonials-head h2{font-family:Manrope;font-size:clamp(38px,5vw,70px);line-height:.98;letter-spacing:-.055em;margin:14px 0 0;max-width:760px}
.testimonials-head>p,.testimonial-invite p{color:#92908b;max-width:520px;margin:0}
.testimonial-invite .button{margin-top:24px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.testimonial-card{min-height:360px;border:1px solid #2f2f2f;padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:#121212;transition:transform .25s ease,border-color .25s ease}
.testimonial-card:hover{transform:translateY(-4px);border-color:#5b4a2e}
.testimonial-card.featured{background:#17140f;border-color:#665233}
.stars{font-size:13px;letter-spacing:.2em;color:#c9a25e}
.testimonial-card blockquote{font-family:Manrope;font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.035em;margin:45px 0;color:#f0eee8}
.testimonial-meta{border-top:1px solid #2f2f2f;padding-top:18px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end}
.testimonial-meta strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.testimonial-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#777;text-align:right}
@media(max-width:850px){.testimonials-head{grid-template-columns:1fr;gap:28px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:300px}.testimonial-card blockquote{margin:35px 0}}

/* Testimonial submission page */
.submission-page{min-height:100vh;background:#efede7;color:#111;padding:150px 8vw 100px}
.submission-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;max-width:1250px;margin:0 auto}
.submission-copy h1{font-family:Manrope;font-size:clamp(48px,6vw,86px);line-height:.93;letter-spacing:-.06em;margin:20px 0 28px}
.submission-copy>p{max-width:500px;color:#555;font-size:17px}
.submission-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#fff;padding:42px;border:1px solid #d4d0c7}
.submission-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#666}
.submission-form input,.submission-form select,.submission-form textarea{border:0;border-bottom:1px solid #aaa;background:transparent;padding:12px 0;outline:none;color:#111;resize:vertical}
.submission-form input:focus,.submission-form select:focus,.submission-form textarea:focus{border-color:#111}
.submission-form .full{grid-column:1/-1}
.submission-form .consent{flex-direction:row;align-items:flex-start;gap:12px;text-transform:none;letter-spacing:0;font-size:12px;line-height:1.45}
.submission-form .consent input{width:16px;height:16px;margin-top:2px;accent-color:#111}
.submission-note{font-size:12px!important;color:#777!important;margin-top:30px}
.success-panel{max-width:760px;margin:12vh auto 0;text-align:center}
.success-panel h1{font-family:Manrope;font-size:clamp(48px,7vw,90px);line-height:.95;letter-spacing:-.06em}
.success-panel p{color:#555;font-size:18px;margin:24px auto 34px;max-width:580px}
@media(max-width:850px){.submission-page{padding:125px 7vw 75px}.submission-wrap{grid-template-columns:1fr;gap:45px}.submission-form{grid-template-columns:1fr;padding:28px}.submission-form .full{grid-column:auto}}

/* V4: original photos only. Cropping is display-only; source files remain untouched. */
.gallery-top-row .gallery-center-impact{object-fit:cover;object-position:58% center;}

/* Local SEO service pages */
.service-link{display:inline-block;margin-top:18px;color:#c9a25e;font-size:10px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #665233;padding-bottom:4px}
.service-hero{min-height:72vh;padding:160px 8vw 90px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.3)),var(--service-image);background-size:cover;background-position:center}
.service-hero-content{max-width:930px}.service-hero h1{font-family:Manrope;font-size:clamp(52px,8vw,112px);line-height:.88;letter-spacing:-.065em;margin:22px 0 28px}.service-hero p:not(.eyebrow){font-size:18px;color:#d0cdc6;max-width:680px}
.service-detail{background:#efede7;color:#111}.service-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.service-detail h2,.service-process h2{font-family:Manrope;font-size:clamp(38px,5vw,70px);line-height:.98;letter-spacing:-.055em;margin:0}.service-detail-copy{color:#4c4944;font-size:17px}.service-detail-copy p:first-child{font-size:22px;color:#111}.service-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}.service-benefits article{padding:28px;border:1px solid #c8c3b9}.service-benefits h3{font-family:Manrope;font-size:22px;margin:0 0 12px}.service-benefits p{color:#5d5a55;margin:0}
.service-process{background:#111}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.process-grid article{border-top:1px solid #444;padding-top:24px}.process-grid span{color:#c9a25e;font-size:11px;letter-spacing:.15em}.process-grid h3{font-family:Manrope;font-size:24px;margin:18px 0 10px}.process-grid p{color:#999}
.service-cta{background:#c9a25e;color:#111;text-align:center}.service-cta h2{font-family:Manrope;font-size:clamp(42px,6vw,80px);line-height:.95;letter-spacing:-.055em;margin:0 auto 28px;max-width:900px}.service-cta p{max-width:650px;margin:0 auto 30px}.service-cta .button.primary{background:#111;color:#fff;border-color:#111}
@media(max-width:850px){.service-hero{padding:135px 7vw 70px;min-height:68vh}.service-detail-grid{grid-template-columns:1fr;gap:35px}.service-benefits,.process-grid{grid-template-columns:1fr}.service-benefits{margin-top:45px}}

/* Touch-friendly mobile navigation */
@media(max-width:850px){
  body.menu-open{overflow:hidden}
  .menu{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;line-height:1;position:relative;z-index:22;touch-action:manipulation}
  .nav.open nav{display:flex;position:absolute;top:81px;left:0;right:0;height:calc(100dvh - 81px);padding:38px 7vw 50px;background:rgba(10,10,10,.98);flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;border-bottom:1px solid #333}
  .nav.open nav a{display:flex;align-items:center;min-height:64px;border-bottom:1px solid #292929;font-family:Manrope;font-size:18px;letter-spacing:.08em;opacity:1}
  .nav.open .menu{font-size:32px}
}
