@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-4.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-6.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-7.woff2) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-8.woff2) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-9.woff2) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-10.woff2) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-11.woff2) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-12.woff2) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-13.woff2) format('truetype');
}

:root{--navy:#143d59;--blue:#215573;--red:#b74737;--cream:#f7f5ee;--muted:#5f6a6c;--line:#d9dfdc;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--navy);font-family:var(--sans);font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}p{color:var(--muted)}em{font-weight:400}.wrap{max-width:1320px;margin-inline:auto;padding-inline:48px}.topbar{height:36px;padding:0 48px;display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;font-size:10px;letter-spacing:1.3px}.header{height:107px;display:flex;align-items:center;gap:42px;padding:0 48px;border-bottom:1px solid var(--line);background:#f7f5eeeF;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.brand{margin-right:auto;display:block;flex-shrink:0}.brand img{width:222px;height:auto}.brand>span{font-size:9px;letter-spacing:2.6px;display:block;margin:5px 0 0 44px}.header nav{display:flex;gap:27px;font-size:14px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--red);transition:width .25s}.header nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 25px;background:var(--navy);border:1px solid var(--navy);border-radius:5px;color:white;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:var(--blue);transform:translateY(-3px)}.button span{font-size:22px;line-height:1}.button.small{padding:13px 20px;gap:24px}.menu-toggle{display:none;background:none;border:0;font-size:26px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:62px;padding-bottom:67px;min-height:745px;align-items:center}.eyebrow{font-size:11px;font-family:'Manrope',var(--sans);font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:13px}.small-line{width:24px;height:1px;background:var(--red);display:inline-block}h1{font-family:var(--serif);font-size:clamp(58px,6.15vw,88px);line-height:1.05;letter-spacing:-3px;margin:22px 0 27px}h1 em{color:var(--red)}.hero-copy>p{font-size:16px;line-height:1.85;max-width:420px}.hero-actions{display:flex;gap:25px;align-items:center;margin:30px 0 32px}.text-link{font-size:14px;border-bottom:1px solid #8297a3;padding-bottom:3px}.hero-note{display:flex;gap:13px;align-items:center;font-size:12px;line-height:1.5;color:var(--muted)}.hero-note strong{color:var(--navy);font-weight:500}.note-icon{font-size:29px}.hero-visual{position:relative;padding:0 14px 62px 10px;min-width:0}.hero-photo{height:520px;border-radius:230px 230px 13px 13px;overflow:hidden;position:relative;background:#d3d8d7}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:49% 50%;transition:transform 1s}.hero-photo:hover>img{transform:scale(1.045)}.hero-photo:after{position:absolute;content:'';inset:60% 0 0;background:linear-gradient(transparent,#153d5944)}.image-label{position:absolute;bottom:21px;left:30px;font-size:9px;color:#fff;letter-spacing:1.6px;z-index:1}.orbit{position:absolute;inset:-20px 30px 87px -15px;border:1px solid #b5c3bd;border-radius:250px 250px 20px 20px;transform:rotate(-7deg);pointer-events:none}.care-badge{position:absolute;top:115px;left:-38px;display:flex;align-items:center;gap:13px;padding:17px 23px;background:#fffef7;box-shadow:0 15px 50px #143d5910;border-radius:8px;transform:rotate(-4deg);font-size:15px;z-index:2}.care-badge>span{font-size:30px;color:var(--red)}.care-badge small{display:block;font-size:11px;color:var(--muted)}.hero-video{position:absolute;bottom:22px;right:0;display:flex;align-items:center;gap:17px;background:var(--navy);color:white;width:324px;padding:11px;border-radius:7px;box-shadow:0 15px 35px #153d5920}.hero-video>img{width:108px;height:80px;object-fit:cover;border-radius:3px}.hero-video>.play{position:absolute;left:50px;border:1px solid #fff9;background:#fff4;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:10px;backdrop-filter:blur(3px)}.hero-video>span:last-child{font-family:var(--serif);font-size:22px}.hero-video small{font-family:var(--sans);font-size:11px;display:block;margin-top:4px;opacity:.8}.hero-index{position:absolute;left:16px;bottom:14px;font-size:9px;letter-spacing:1.6px}.values{display:flex;justify-content:center;align-items:center;gap:40px;background:var(--navy);color:#eef3f5;padding:24px 40px;font-size:13px}.values b{font-weight:500}.values i{width:1px;height:22px;background:#ffffff30}.values a{color:#e8c7a5;font-size:12px;display:flex;gap:30px}.skip{position:fixed;top:-100px;background:#fff;padding:10px;z-index:100}.skip:focus{top:0}
@media(min-width:1600px){.header,.topbar{padding-inline:max(48px,calc((100vw - 1224px)/2))}}@media(max-width:1100px){.header{gap:22px;padding-inline:25px}.header nav{gap:18px}.brand img{width:192px}.brand>span{font-size:8px}.header .button{gap:10px;padding-inline:15px}.hero{gap:25px}.wrap{padding-inline:32px}.hero-photo{height:480px}.care-badge{left:-10px;font-size:13px;padding:14px}.hero-actions{gap:15px}.hero-actions>.button{gap:14px;padding-inline:18px}.hero-index{display:none}.values{gap:22px}}@media(max-width:800px){.topbar{padding:0 20px;font-size:8px;letter-spacing:1px}.topbar>span:first-child{max-width:75%;font-size:7px}.header{height:83px;padding:0 20px;gap:18px}.header .button{margin-left:auto;font-size:12px}.header .button span{display:none}.brand{margin:0}.brand img{width:180px}.brand>span{font-size:7px;margin-left:30px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 20px 25px #143d5915}.header nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;gap:45px;padding-top:42px;padding-bottom:35px;min-height:0}.wrap{padding-inline:24px}.hero-copy>p{max-width:500px}h1{font-size:65px;letter-spacing:-2px}.hero-visual{max-width:520px;width:100%;margin:auto}.hero-photo{height:440px}.care-badge{left:-6px;top:90px}.hero-note{font-size:12px}.hero-actions{flex-wrap:wrap}.values{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px;font-size:12px}.values i{display:none}.values a{font-size:12px;gap:10px}}@media(max-width:420px){.header .button{display:none}.menu-toggle{margin-left:auto}h1{font-size:58px}.hero-photo{height:380px}.hero-video{width:282px}.hero-video>span:last-child{font-size:20px}.hero-video>img{width:94px}.hero-video>.play{left:42px}.eyebrow{font-size:10px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


.section{padding-block:104px}h2{font-family:var(--serif);font-size:clamp(38px,3.65vw,53px);line-height:1.17;letter-spacing:-1.6px;margin-top:23px}h2 em{color:var(--red)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:75px}.intro-copy{padding-top:5px}.intro-copy .large-copy{font-size:21px;color:var(--navy);margin-bottom:18px;line-height:1.5}.intro-copy>p+p{font-size:16px;line-height:1.85}.inline-link{display:inline-flex;align-items:center;gap:44px;padding:10px 0;border-bottom:1px solid #9baab1;margin-top:22px;font-size:14px;font-weight:500}.inline-link span{font-size:22px}.services{background:#edf0ee;border-top:1px solid #e2e6e2;border-bottom:1px solid #e2e6e2}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:49px}.section-heading>p{max-width:320px;font-size:15px;padding-bottom:6px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{display:flex;flex-direction:column;background:var(--cream);padding:28px 24px 23px;border:1px solid #e1e4dd;border-radius:9px;transition:transform .35s,box-shadow .35s}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 30px #143d590c}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.service-top svg{width:35px;height:35px;stroke:var(--navy);fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.service-top>span{color:#8b989b;font-size:12px}.service-card h3{font-family:var(--serif);font-size:23px;line-height:1.3;letter-spacing:-.6px;min-height:64px}.service-card p{font-size:14px;line-height:1.85;margin:20px 0 28px}.service-tag{font-size:9px;letter-spacing:1px;color:var(--red);margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}.structure{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.structure-pictures{height:550px;position:relative;margin-right:30px}.structure-main{height:495px;width:83%;object-fit:cover;border-radius:170px 170px 6px 6px}.structure-detail{position:absolute;width:45%;height:250px;object-fit:cover;bottom:0;right:-20px;border:8px solid var(--cream);border-radius:8px;box-shadow:0 20px 40px #143d5915}.address-tag{position:absolute;left:-15px;bottom:87px;padding:20px 25px;background:var(--navy);color:#fff;font-size:9px;letter-spacing:1.3px;transform:rotate(-4deg);border-radius:4px}.address-tag span{display:block;font-size:15px;letter-spacing:0;margin-top:4px}.structure-copy>p{margin-top:25px;font-size:16px;max-width:410px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;margin:30px 0 15px}.stats>div{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding-bottom:13px}.stats b{font-family:var(--serif);font-size:51px;line-height:1.3;font-weight:400;color:var(--red)}.stats span{font-size:13px;max-width:112px;line-height:1.6}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;position:relative}.story-image{height:100%;min-height:590px}.story-image img{width:100%;height:100%;object-fit:cover;filter:sepia(.12);opacity:.78}.story-text{padding:80px max(45px,calc((100vw - 1224px)/2)) 80px 75px}.story-text .eyebrow{color:#dfc6a9;font-size:10px}.story h2{font-size:54px;line-height:1.2}.story h2 em{color:#eed4b5}.dedication{display:block;margin:22px 0;color:#e4cfb4;font-size:12px}.story p{color:#d8e2e7;font-size:15px;line-height:1.8}details{margin-top:20px;border-top:1px solid #a7b8c34d}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;padding:17px 0;font-size:13px;font-weight:500}summary::-webkit-details-marker{display:none}summary>span{font-size:20px;font-weight:400;transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}details p{margin:5px 0 15px}.director{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.portrait-wrap{background:#e9eae2;width:330px;height:350px;border-radius:160px 160px 8px 8px;overflow:hidden;margin-bottom:25px}.portrait-wrap img{width:100%;height:100%;object-fit:contain;object-position:bottom}.director-profile{text-align:center;display:flex;align-items:center;flex-direction:column}.director-profile h3{font-family:var(--serif);font-size:26px}.director-profile p{font-size:12px;margin-top:5px}.director blockquote{margin:23px 0 27px;font-family:var(--serif);font-size:43px;line-height:1.23;letter-spacing:-1px}.director blockquote em{color:var(--red)}.director-copy>p,.director details p{font-size:15px;line-height:1.85}.life{background:#edece5}.gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:235px 235px 235px;gap:18px}.gallery-item{border:0;padding:0;text-align:left;position:relative;overflow:hidden;border-radius:6px;background:#b4b3a8;min-width:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{position:absolute;content:'';inset:50% 0 0;background:linear-gradient(transparent,#071c2a99)}.gallery-item>span{position:absolute;bottom:18px;left:22px;right:22px;color:white;font-size:13px;display:flex;justify-content:space-between;align-items:center;z-index:1}.gallery-item b{font-weight:400;font-size:23px}.gallery-item.tall{grid-row:span 2}.gallery-last{grid-column:1/-1}.gallery-last img{object-position:50% 46%}.video-card{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--navy);color:#fff;overflow:hidden;border-radius:8px;margin-top:60px}.video-card>div{padding:45px}.video-card .eyebrow{font-size:9px;color:#e4cfb4}.video-card h3{font-family:var(--serif);font-size:40px;line-height:1.2;margin:20px 0}.video-card h3 em{color:#eed4b5}.video-card p{font-size:14px;color:#d8e2e7;max-width:300px;margin-bottom:24px}.button.light{background:#f7f5ee;color:var(--navy);border-color:#f7f5ee;gap:20px}.button.light span{font-size:12px}.video-poster{position:relative;padding:0;border:0;background:var(--navy);overflow:hidden}.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s;opacity:.82}.video-poster:hover img{transform:scale(1.035)}.video-poster>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid #fff9;border-radius:50%;background:#ffffff40;backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff;font-size:19px;padding-left:4px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.contact-copy>p{margin-top:26px;font-size:16px}.contact-phone{font-family:var(--serif);font-size:35px;display:flex;gap:32px;align-items:center;margin-top:28px}.contact-phone span{font-size:26px}.contact-address{border-top:1px solid var(--line);padding-top:26px;margin-top:28px;max-width:360px}.contact-address>span{font-size:10px;letter-spacing:1.6px}.contact-address p{margin-top:9px;font-size:15px}.contact-address .inline-link{margin-top:8px}.contact-form{background:#fffef9;border:1px solid #e3e5dc;border-radius:8px;padding:38px}.contact-form h3{font-family:var(--serif);font-size:25px;line-height:1.35}.contact-form label{display:block;font-size:12px;margin:22px 0 7px}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid #c4cdd0;padding:10px 0 13px;width:100%;border-radius:0;color:var(--navy);font-size:14px;resize:vertical}.contact-form ::placeholder{color:#7c8283}.contact-form .button{width:100%;justify-content:space-between;margin-top:28px}.form-note{font-size:11px;margin-top:12px;line-height:1.6}.original-contact{display:block;font-size:11px;text-decoration:underline;margin-top:15px}#form-result{padding:15px;background:#edf0ee;font-size:13px;margin-top:15px;border-left:3px solid var(--navy)}footer{background:var(--navy);color:#eaf0f3;padding-top:60px}.footer-main{display:grid;grid-template-columns:1.3fr .8fr 1.2fr 80px;gap:35px;padding-bottom:48px}.footer-brand img{width:222px}.footer-brand>span{font-family:var(--serif);font-style:italic;font-size:18px;margin-top:15px;display:block}.footer-main>div>span{font-size:9px;letter-spacing:1.5px;color:#b8cbd7;display:block;margin-bottom:15px}.footer-main>div>a{display:block;font-size:12px;margin:7px 0}.footer-symbol{width:80px;height:80px;border-radius:50%;background:#fff;object-fit:contain}.footer-bottom{border-top:1px solid #ffffff25;display:flex;gap:30px;justify-content:space-between;padding-top:23px;padding-bottom:23px;font-size:10px;color:#c2d0d8}dialog{border:0;padding:50px 25px 25px;max-width:95vw;max-height:95dvh;background:#102f43;color:white;border-radius:9px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0a1f2bdd;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#fff;width:40px;height:40px;font-size:30px}.lightbox-layout{display:flex;align-items:center;gap:15px}.lightbox-layout>button{border:1px solid #ffffff66;background:transparent;color:white;border-radius:50%;width:42px;height:42px;font-size:20px;flex-shrink:0}.lightbox-layout figure{margin:0;text-align:center}.lightbox-layout img{max-width:75vw;max-height:70dvh;object-fit:contain;margin:auto}.lightbox-layout figcaption{font-size:15px;margin-top:17px}#photo-count{display:block;text-align:center;font-size:11px;color:#c9d7df;margin-top:7px}#video-dialog{width:980px}#domus-video{width:100%;max-height:75dvh;background:#000}.video-direct{display:block;font-size:12px;margin-top:12px}.motion-toggle{position:fixed;right:17px;bottom:17px;width:34px;height:34px;border:1px solid #b8c5c8;border-radius:50%;background:#f7f5eedd;color:var(--navy);z-index:25;font-size:14px}.enhanced .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.enhanced .reveal.visible{opacity:1;transform:none}.services-grid .reveal:nth-child(2){transition-delay:.1s}.services-grid .reveal:nth-child(3){transition-delay:.2s}.services-grid .reveal:nth-child(4){transition-delay:.3s}.care-badge{animation:float 7s ease-in-out infinite}.orbit{animation:breathe 10s ease-in-out infinite}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion .reveal{opacity:1!important;transform:none!important}html:has(.reduce-motion){scroll-behavior:auto}@keyframes float{50%{transform:translateY(-9px) rotate(-2deg)}}@keyframes breathe{50%{transform:rotate(-3deg) scale(1.015)}}
@media(min-width:1600px){.story-text{padding-right:max(75px,calc((100vw - 1224px)/2))}}@media(max-width:1100px){.section{padding-block:80px}.services-grid{grid-template-columns:1fr 1fr}.service-card h3{min-height:0}.structure{gap:50px}.structure-pictures{margin-right:10px}.story-text{padding:60px 35px}.story h2{font-size:43px}.director{gap:55px}.portrait-wrap{width:280px;height:310px}.contact{gap:45px}.contact-form{padding:29px}.video-card>div{padding:30px}.gallery{grid-template-rows:210px 210px 190px}.footer-main{gap:20px;grid-template-columns:1fr .7fr 1fr}.footer-symbol{display:none}}@media(max-width:800px){.section{padding-block:63px}h2{font-size:40px;letter-spacing:-1px}.intro{grid-template-columns:1fr;gap:27px}.intro-copy .large-copy{font-size:19px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px}.services-grid{gap:15px}.service-card{padding:24px}.service-card h3{font-size:24px}.structure{grid-template-columns:1fr;gap:48px}.structure-pictures{max-width:490px;width:90%;height:440px;margin:0 auto}.structure-main{height:400px}.structure-detail{height:220px}.structure-copy>p{max-width:100%}.story{grid-template-columns:1fr}.story-image{height:330px;min-height:0}.story-image img{object-position:50% 37%}.story-text{padding:49px 25px 54px}.story h2{font-size:43px}.director{grid-template-columns:1fr;gap:37px}.director-profile{flex-direction:row;gap:22px;text-align:left}.portrait-wrap{width:120px;height:140px;margin:0;border-radius:70px 70px 5px 5px}.director-profile h3{font-size:24px}.director-profile p{font-size:12px}.director blockquote{font-size:37px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 230px 230px;gap:12px}.gallery-item.tall{grid-row:auto}.gallery-last{grid-column:auto}.gallery-item>span{left:14px;right:14px;bottom:13px;font-size:12px}.video-card{grid-template-columns:1fr;margin-top:38px}.video-card>div{padding:31px}.video-poster{height:320px}.contact{grid-template-columns:1fr;gap:38px}.contact-form{padding:28px}.contact-phone{font-size:32px}.footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px;padding-bottom:25px}.lightbox-layout{gap:6px}.lightbox-layout>button{width:31px;height:38px;border:0}.lightbox-layout img{max-width:65vw}dialog{padding-inline:7px}.form-note,.original-contact{font-size:12px}}@media(max-width:500px){.services-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-top{margin-bottom:20px}.service-card h3 br{display:none}.service-card p{font-size:15px;margin:15px 0 24px}.service-tag{font-size:10px}.service-card h3{font-size:26px}.gallery{grid-template-rows:220px 180px 200px}.gallery-item>span{font-size:11px;line-height:1.4}.video-poster{height:250px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.portrait-wrap{flex-shrink:0}.stats span{font-size:12px}}@media(prefers-reduced-motion:reduce){.enhanced .reveal{opacity:1;transform:none}}
.eyebrow,.service-tag,.image-label,.hero-index,.care-badge small,.hero-video small,.address-tag,.video-card .eyebrow,.story-text .eyebrow{font-size:12px}.service-tag{letter-spacing:.4px}.eyebrow{letter-spacing:1.4px}.service-card p,.director-copy>p,.director details p,.story p,.video-card p,.section-heading>p{font-size:16px}.stats span,.contact-form label,.contact-form input,.contact-form textarea,.gallery-item>span,.footer-main>div>a,summary,.director-profile p{font-size:14px}.form-note,.original-contact,.footer-bottom,.footer-main>div>span,.contact-address>span{font-size:12px}.footer-bottom{flex-wrap:wrap}.service-card h3{font-size:24px}.values,.values a{font-size:14px}.hero-video{width:340px}.hero-video small{line-height:1.5}@media(max-width:800px){.hero-video{width:305px}.hero-video>span:last-child{font-size:19px}.hero-video small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1px}.gallery-item>span{font-size:12px}.topbar>span:first-child{font-size:8px;letter-spacing:.3px;max-width:74%;line-height:1.3}.topbar>span:last-child{font-size:9px;max-width:22%;letter-spacing:0}.topbar{height:40px}.values{font-size:13px;gap:16px}.values a{font-size:13px}.hero-index{display:none}.service-tag{font-size:12px}}

/* Rifiniture per il pacchetto destinato a hosting esterno. */
.portrait-wrap{position:relative;width:390px;height:415px;overflow:visible;border-radius:0;background:transparent;isolation:isolate}
.portrait-wrap::before{content:"";position:absolute;z-index:-1;inset:7% 4% 3%;border-radius:52% 52% 44% 44%;background:radial-gradient(circle at 50% 36%,#eaebe4 0 55%,#f2f1ea 74%,transparent 75%);filter:blur(1px)}
.portrait-wrap img{width:100%;height:100%;object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,#000 0 76%,rgba(0,0,0,.88) 84%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0 76%,rgba(0,0,0,.88) 84%,transparent 99%)}
.footer-bottom{justify-content:center;text-align:center;padding-block:23px}
.footer-bottom a{font-size:12px;letter-spacing:.25px;transition:color .2s}
.footer-bottom a:hover{color:#fff}
@media(max-width:1100px){.portrait-wrap{width:330px;height:365px}}
@media(max-width:800px){.portrait-wrap{width:145px;height:160px;flex-shrink:0}.director-profile{align-items:center}.footer-bottom{align-items:center}.service-card h3 br{display:block}}
@media(max-width:500px){.service-card h3 br{display:block}.service-card h3{word-spacing:normal;overflow-wrap:normal}}

.cookie-banner{position:fixed;z-index:80;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:minmax(255px,.8fr) minmax(330px,1.5fr) auto;gap:28px;align-items:center;max-width:1320px;margin:auto;padding:24px 26px;background:#fffef9;border:1px solid #d9dfdc;border-radius:10px;box-shadow:0 24px 80px rgba(20,61,89,.22)}
.cookie-banner[hidden],.cookie-manage[hidden]{display:none}.cookie-intro{display:flex;align-items:center;gap:15px}.cookie-intro img{width:48px;height:48px;object-fit:contain}.cookie-kicker{display:block;color:var(--red);font-size:11px;font-weight:700;letter-spacing:1.4px}.cookie-banner h2,.cookie-dialog h2{font-size:25px;letter-spacing:-.5px;margin:3px 0 0}.cookie-banner>p,.cookie-dialog>p{font-size:14px;line-height:1.65}.cookie-actions,.cookie-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.cookie-button{border:1px solid var(--navy);border-radius:5px;padding:12px 17px;font-size:13px;font-weight:600;white-space:nowrap}.cookie-button.primary{background:var(--navy);color:#fff}.cookie-button.secondary{background:transparent;color:var(--navy)}.cookie-button:hover{transform:translateY(-2px)}.cookie-dialog{width:min(680px,calc(100vw - 30px));padding:42px 38px 30px;background:#fffef9;color:var(--navy)}.cookie-dialog .dialog-close{color:var(--navy)}.cookie-options{margin:25px 0;border-top:1px solid var(--line)}.cookie-option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.cookie-option strong{font-family:var(--serif);font-size:19px;font-weight:500}.cookie-option p{font-size:13px;line-height:1.5;margin-top:2px}.always-on{color:var(--red);font-size:12px;font-weight:600;white-space:nowrap}.cookie-option input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;flex:0 0 auto;width:44px;height:24px;border-radius:20px;background:#c8d0d0;transition:background .2s}.switch::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 2px 5px #0002;transition:transform .2s}.cookie-option input:checked+.switch{background:var(--navy)}.cookie-option input:checked+.switch::after{transform:translateX(20px)}.cookie-option input:focus-visible+.switch{outline:3px solid var(--red);outline-offset:4px}.cookie-manage{position:fixed;z-index:40;left:18px;bottom:18px;border:1px solid #b8c5c8;border-radius:30px;background:#fffef9eF;color:var(--navy);padding:9px 14px;font-size:12px;box-shadow:0 8px 30px #143d591c}.cookie-manage:hover{background:#fff}
@media(max-width:1000px){.cookie-banner{grid-template-columns:1fr 1.6fr}.cookie-actions{grid-column:1/-1}.cookie-actions .cookie-button{flex:1}}
@media(max-width:650px){.cookie-banner{left:10px;right:10px;bottom:10px;display:block;padding:20px}.cookie-banner>p{margin:14px 0 17px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .primary{grid-column:1/-1;grid-row:1}.cookie-dialog{padding:38px 22px 24px}.cookie-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-option{gap:14px}.cookie-option p{font-size:12px}.cookie-manage{left:10px;bottom:10px}.cookie-banner h2,.cookie-dialog h2{font-size:23px}}
