@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces-normal-100-900.woff2')}@font-face{font-family:Karla;src:url('assets/fonts/karla-normal-200-800.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f4f7f6;color:#173e4b;font:17px/1.55 Karla,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}:focus-visible{outline:3px solid #e18432;outline-offset:5px}img{max-width:100%;display:block}figure{margin:0}p{margin:0 0 20px}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:450;line-height:1.06;margin:0 0 24px}h1{font-size:clamp(38px,4.5vw,65px);letter-spacing:-2px}h2{font-size:clamp(30px,3.4vw,48px)}h3{font-size:28px}section{scroll-margin-top:30px}.demo-banner{background:#173e4b;color:white;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.07em}.skip{position:absolute;left:-1000px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:12px}header{max-width:1320px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}header .brand img{height:73px;width:92px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}nav a,.button{border:1px solid #173e4b55;border-radius:30px;padding:10px 19px;font-size:14px;display:inline-block}nav .filled,.button{background:#173e4b;color:white}.phone{font-size:14px}main{overflow:clip}.hero{padding:18px 30px 80px;max-width:1380px;margin:auto}.hero>p{text-align:center;letter-spacing:.17em;font-size:12px;margin:0 0 20px}.hero h1{text-align:center}.intro-line{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0 25px;font-size:15px}.intro-line b{font-size:22px;margin-left:20px}.mosaic{display:grid;grid-template-columns:1.48fr 1fr;grid-template-rows:230px 230px;gap:14px;position:relative}.mosaic figure{position:relative;overflow:hidden;border-radius:9px}.mosaic .large{grid-row:span 2}.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.6,.2,1)}.mosaic figcaption{position:absolute;bottom:0;left:0;right:0;color:white;font-size:16px;padding:36px 20px 16px;background:linear-gradient(transparent,#14313bd9)}.mosaic figure:hover img{transform:scale(1.035)}.round-note{position:absolute;left:calc(60% - 50px);top:calc(50% - 53px);height:106px;width:106px;border-radius:50%;background:#c2e5e3;display:grid;place-content:center;text-align:center;font-size:14px;line-height:1.25;border:6px solid #f4f7f6;transform:rotate(-8deg)}.motion .mosaic .large img{animation:opening 1.7s both}.motion .mosaic .small{animation:arrive 1s both}.motion .mosaic .small:nth-child(3){animation-delay:.16s}@keyframes opening{from{transform:scale(1.14);clip-path:inset(8% 12%)}to{transform:scale(1);clip-path:inset(0)}}@keyframes arrive{from{transform:translateY(30px);opacity:.4}to{transform:translateY(0);opacity:1}}.wrap{max-width:1240px;margin:auto;padding:85px 30px}.section-top{display:flex;justify-content:space-between;gap:35px;align-items:start;margin-bottom:35px}.section-top p{max-width:410px}.service-index{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.service-index details{border-top:1px solid #173e4b40;padding:18px 0}.service-index summary{cursor:pointer;list-style:none;font-size:21px;display:flex;justify-content:space-between}.service-index summary:after{content:'+'}.service-index details[open] summary:after{content:'−'}.service-index details div{padding:18px 20px 0 0}.service-index a{text-decoration:underline;font-size:15px}.ouvertys{background:#173e4b;color:#fff;--open:1}.ouvertys .wrap{padding-bottom:45px}.opening-stage{position:relative;height:530px;overflow:hidden;border:1px solid #f4f7f66b;margin-top:32px;background:#d9e5e5}.opening-stage>img{height:100%;width:100%;object-fit:cover}.wall{position:absolute;top:0;bottom:0;width:50%;background:#244d59;transition:transform .08s linear;background-image:linear-gradient(#a8c3c61f 1px,transparent 1px),linear-gradient(90deg,#a8c3c61f 1px,transparent 1px);background-size:60px 60px}.wall.left{left:0;transform:translateX(calc(var(--open)*-100%))}.wall.right{right:0;transform:translateX(calc(var(--open)*100%))}.opening-frame{position:absolute;inset:8% 10%;border:2px solid white;opacity:calc(1 - var(--open)*.5);transform:scaleX(calc(.35 + var(--open)*.65));pointer-events:none}.opening-caption{position:absolute;bottom:20px;left:25px;background:#173e4be8;padding:8px 15px;font-size:14px}.opening-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px}.opening-controls input{accent-color:#b1d9db;min-width:200px;flex:1}.smallprint{font-size:12px;opacity:.75;margin-top:16px}.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:36px 0 0}.process p{font-size:15px}.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center}.gallery-photo{height:570px;overflow:hidden;border-radius:8px}.gallery-photo img{height:100%;width:100%;object-fit:cover}.gallery button{display:block;width:100%;border:0;border-bottom:1px solid #173e4b50;background:transparent;color:inherit;text-align:left;padding:18px 0;cursor:pointer;font-size:20px}.gallery button[aria-pressed=true]{color:#177395;font-weight:700}.gallery button:after{content:'↗';float:right}.partners{background:#dcebe7;text-align:center}.partner-row{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:30px 0}.partner-row span{font-size:22px;font-weight:650;border-block:1px solid #173e4b44;padding:12px}.film-row{display:grid;grid-template-columns:1fr 1fr;gap:40px}.film-row img{width:100%;height:340px;object-fit:cover;border-radius:8px}.film-row h3{margin-top:22px}.contact{background:#e9e2d3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact address{font-style:normal}.contact iframe{width:100%;height:290px;border:0}.contact .button{margin:10px 0 25px}.resources{border-top:1px solid #173e4b40;margin-top:50px;padding-top:22px}.resources summary{cursor:pointer}.resource-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:13px;margin-top:20px}.site-footer{padding:30px;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;font-size:13px;background:#f4f7f6}.site-footer a{text-decoration:underline}@media(max-width:700px){header{padding:15px 20px;align-items:flex-start}header .brand img{width:60px;height:55px}header nav{justify-content:flex-end;max-width:280px;gap:5px}nav a{font-size:11px;padding:6px 10px}.phone{display:none}.hero{padding:25px 20px 45px}h1{font-size:34px;letter-spacing:-1px}h2{font-size:32px}h3{font-size:25px}.intro-line{display:block;font-size:13px}.intro-line a{display:block;margin-top:9px}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:290px 145px;gap:8px}.mosaic .large{grid-row:auto;grid-column:span 2}.mosaic figcaption{font-size:12px;padding:25px 12px 10px}.round-note{left:auto;right:-8px;top:240px;height:82px;width:82px;font-size:11px;border-width:4px}.wrap{padding:55px 20px}.section-top{display:block;margin-bottom:20px}.service-index{display:block}.service-index summary{font-size:19px}.opening-stage{height:340px}.opening-caption{left:10px;bottom:10px;font-size:11px}.opening-controls{font-size:13px}.process{grid-template-columns:1fr;gap:6px}.gallery{display:flex;flex-direction:column;gap:25px;align-items:stretch}.gallery-photo{height:350px}.gallery button{padding:13px 0;font-size:18px}.partner-row{gap:12px}.partner-row span{font-size:18px}.film-row,.contact-grid{grid-template-columns:1fr;gap:30px}.film-row img{height:270px}.resource-links{grid-template-columns:1fr 1fr}.demo-banner{font-size:9px}.site-footer{padding:22px;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
