
    :root { --navy:#122339; --grafite:#4B4F56; --ivory:#F6F5F2; --bronze:#A58F72; --bone:#E9E5DD; --white:#fff; --muted:#797D80; --width:1240px; --font:'Manrope','Inter Display','Inter','Segoe UI',Arial,sans-serif; }
    *,*::before,*::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:92px; }
    body { margin:0; color:var(--navy); background:var(--ivory); font-family:var(--font); line-height:1.6; -webkit-font-smoothing:antialiased; }
    body.modal-open { overflow:hidden; }
    a { color:inherit; text-decoration:none; }
    button,input,select,textarea { font:inherit; }
    button { cursor:pointer; }
    img { max-width:100%; display:block; }
    .container { width:min(calc(100% - 96px),var(--width)); margin:0 auto; }
    .eyebrow { font-size:11px; font-weight:650; line-height:1.5; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze); }
    .eyebrow .num { margin-right:14px; }
    .eyebrow-light { color:#CDB79C; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { letter-spacing:-.045em; font-weight:510; line-height:1.12; }
    h1 { font-size:clamp(48px,4.5vw,72px); max-width:820px; }
    h2 { font-size:clamp(38px,3.5vw,54px); }
    h3 { font-size:23px; letter-spacing:-.027em; }
    p { color:var(--grafite); }
    .btn { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-size:12px; letter-spacing:.015em; font-weight:650; padding:0 23px; border:1px solid var(--navy); border-radius:1px; background:var(--navy); color:white; transition: background .2s,transform .2s,color .2s,border-color .2s; }
    .btn:hover { transform:translateY(-2px); background:#1E3B57; }
    .btn:focus-visible,.link:focus-visible,.mobile-toggle:focus-visible,a:focus-visible { outline:3px solid var(--bronze); outline-offset:4px; }
    .btn--outline { color:var(--navy); background:transparent; }
    .btn--outline:hover { color:white; }
    .btn--light { background:#F6F5F2; color:var(--navy); border-color:#F6F5F2; }
    .btn--light:hover { background:#E3DDD4; color:var(--navy); }
    .btn--ghost-light { color:#FFF; background:transparent; border-color:#798897; }
    .btn--ghost-light:hover { background:#273E54; }
    .arrow { font-size:16px; font-weight:400; line-height:1; }
    .link { display:inline-flex; align-items:center; gap:13px; font-size:13px; font-weight:650; padding-bottom:7px; border-bottom:1px solid var(--bronze); }
    .link:hover { color:#986C3F; }
    .site-header { position:sticky; top:0; z-index:50; background:rgba(246,245,242,.97); border-bottom:1px solid #E5E1DB; backdrop-filter:blur(12px); }
    .header-inner { width:min(calc(100% - 96px),1340px); margin:auto; height:86px; display:flex; align-items:center; gap:28px; justify-content:space-between; }
    .site-logo { width:237px; flex:none; }
    .site-logo img { width:100%; height:auto; }
    .desktop-nav { display:flex; gap:29px; align-items:center; margin-left:auto; }
    .desktop-nav a { font-size:12px; font-weight:560; color:var(--navy); transition:color .15s; }
    .desktop-nav a:hover { color:#8E7659; }
    .header-cta { padding:0 18px; min-height:40px; white-space:nowrap; margin-left:20px; }
    .mobile-toggle { display:none; background:none; color:var(--navy); border:0; font-size:24px; padding:8px; }
    .mobile-panel { display:none; }
    /* HERO */
    .hero { background:linear-gradient(117deg,#F8F7F4 0%,#F6F5F2 63%,#F0EDE7 100%); overflow:hidden; }
    .hero-grid { width:min(100%,1500px); margin:auto; min-height:650px; display:grid; grid-template-columns:55% 45%; }
    .hero-copy { padding:clamp(75px,7vw,116px) 4% 66px max(48px,calc((100vw - 1240px)/2)); position:relative; z-index:2; }
    .hero-copy h1 { margin:27px 0 24px; font-size:clamp(49px,4.4vw,72px); }
    .hero-copy .lead { max-width:580px; font-size:16px; line-height:1.8; }
    .hero-actions { display:flex; gap:12px; margin-top:33px; flex-wrap:wrap; }
    .hero-bottom { display:flex; gap:35px; flex-wrap:wrap; margin-top:93px; }
    .hero-bottom span { border-left:1px solid var(--bronze); padding-left:16px; font-size:12px; line-height:1.6; color:var(--grafite); }
    .hero-media { overflow:hidden; position:relative; }
    .hero-media img { width:100%; height:100%; object-fit:cover; object-position:52% center; }
    .hero-media::before { content:""; z-index:1; position:absolute; pointer-events:none; top:0;bottom:0;left:0;width:24%; background:linear-gradient(to right,#F6F5F2,rgba(246,245,242,0)); }
    .hero-photo-caption { color:white; position:absolute; z-index:2; right:22px; bottom:24px; font-size:10px; letter-spacing:.13em; text-shadow:0 1px 8px #122339; }
    /* SECTIONS */
    section { scroll-margin-top:86px; }
    .section { padding:118px 0; }
    .section-intro { max-width:745px; }
    .section-intro .eyebrow { margin-bottom:24px; }
    .section-intro h2 { margin-bottom:20px; }
    .section-intro p { font-size:15px; line-height:1.9; }
    .approach-grid { display:grid; grid-template-columns:43% 57%; gap:7%; align-items:center; }
    .approach-art { height:450px; position:relative; }
    .approach-art img { height:100%; width:100%; object-fit:cover; }
    .image-label { color:#F6F5F2; position:absolute; z-index:1; bottom:15px; left:16px; font-size:10px; text-shadow:0 0 8px #122339; letter-spacing:.05em; }
    .approach-copy p { max-width:590px; font-size:15px; line-height:1.88; }
    .process { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #D7D4CD; margin-top:40px; padding-top:20px; gap:20px; }
    .process-item .n { display:block; color:var(--bronze); font-size:11px; margin-bottom:5px; }
    .process-item .label { display:block; font-size:12px; font-weight:620; }
    .competences { background:#F0EDE8; }
    .comp-top { display:flex; justify-content:space-between; gap:70px; align-items:end; margin-bottom:56px; }
    .comp-top .section-intro h2 { margin-bottom:0; }
    .comp-top > p { max-width:345px; margin:0 0 5px; font-size:14px; line-height:1.8; }
    .services { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
    .service { padding:5px 43px 4px 34px; border-left:1px solid #CCC7BE; }
    .service:first-child { padding-left:0; border-left:0; }
    .service-icon { display:grid; place-items:center; height:65px; width:65px; border:1px solid var(--bronze); border-radius:50%; margin-bottom:30px; }
    .service-icon svg { width:28px; height:28px; stroke:var(--bronze); fill:none; stroke-width:1.45; }
    .service h3 { margin-bottom:17px; min-height:53px; }
    .service p { font-size:13px; line-height:1.85; margin:0; }
    .services-foot { margin-top:45px; }
    .projects { background:white; }
    .projects-top { display:flex; justify-content:space-between; gap:28px; align-items:end; margin-bottom:44px; }
    .projects-top .section-intro h2 { margin-bottom:0; }
    .example-note { display:inline-block; font-size:11px; color:var(--muted); padding:7px 10px; border:1px solid #E0DDD7; }
    .project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }
    .project-card .project-image { aspect-ratio:1.17/1; overflow:hidden; background:#E4E2DD; }
    .project-card img { object-fit:cover; width:100%;height:100%; transition:transform .4s ease; }
    .project-card:hover img { transform:scale(1.035); }
    .project-card .project-content { border-bottom:1px solid #DDD9D2; padding:26px 3px 20px; }
    .project-card .kind { color:var(--bronze); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
    .project-card h3 { margin:10px 0 10px; font-size:21px; }
    .project-card p { font-size:12px; line-height:1.75; margin:0; }
    .project-bottom { display:flex;justify-content:space-between;align-items:center; gap:20px; margin-top:32px; }
    .project-bottom p { margin:0; font-size:12px; }
    .profile { background:#F6F5F2; }
    .profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
    .profile-visual { height:490px; display:flex; align-items:center; justify-content:center; background:#E5E4DE; position:relative; overflow:hidden; }
    .profile-visual::before {content:"";position:absolute;width:260px;height:260px;border:1px solid #BABAB3;transform:rotate(45deg);}
    .profile-visual::after {content:"";position:absolute;width:320px;height:320px;border:1px solid #BABAB3;transform:rotate(16deg);}
    .profile-visual .mark { width:195px; z-index:2; opacity:.90; }
    .profile-visual .corner { position:absolute; bottom:19px; right:22px; color:#80847D; font-size:10px; letter-spacing:.2em; }
    .profile .section-intro p { max-width:570px; }
    .profile-facts { margin:28px 0 28px; display:flex;flex-direction:column;gap:13px; }
    .profile-facts div { font-size:13px; padding-left:15px; border-left:2px solid var(--bronze); }
    .partnership { background:#EBE8E2; }
    .partners-head { margin-bottom:47px; }
    .partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px; }
    .partner-card { padding:52px 47px 49px; background:white; min-height:315px; display:flex;flex-direction:column;align-items:start; }
    .partner-card.dark { background:var(--navy);color:white; }
    .partner-card .kicker { margin:0 0 25px; font-size:11px; color:var(--bronze); letter-spacing:.16em; text-transform:uppercase; }
    .partner-card.dark .kicker { color:#D4B998; }
    .partner-card h3 { font-size:27px; margin:0 0 14px; }
    .partner-card p { max-width:440px; margin:0 0 29px; font-size:14px; }
    .partner-card.dark p { color:#D9E0E4; }
    .partner-card .link { margin-top:auto; }
    .partner-card.dark .link { color:white; }
    .contact { background:var(--navy); color:white; padding:100px 0 60px; }
    .contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:10%; align-items:center; }
    .contact h2 { max-width:700px; }
    .contact p { color:#CBD2D7;max-width:550px; font-size:15px; }
    .contact-actions { display:flex;flex-direction:column;gap:12px; align-items:stretch;max-width:385px; margin-left:auto; }
    .contact-actions .btn { justify-content:space-between; padding-left:25px;padding-right:25px; }
    .contact-actions small { color:#ADBCC5; font-size:11px; line-height:1.6; margin-top:10px; }
    .footer { border-top:1px solid #3E5161; margin-top:90px; padding:30px 0 0; display:flex; justify-content:space-between; align-items:center;gap:20px; }
    .footer img { width:220px; }
    .footer p { color:#B4C1C9;font-size:11px; margin:0; }
    .prototype-chip { position:fixed; bottom:15px; right:18px; z-index:30; background:rgba(18,35,57,.91); color:white; font-size:10px; letter-spacing:.08em; padding:8px 12px; border-radius:2px; box-shadow:0 4px 15px #0013; pointer-events:none; }
    /* MODAL */
    dialog { border:none; border-radius:4px; background:#F6F5F2; width:min(540px,calc(100vw - 24px)); padding:0; color:var(--navy); box-shadow:0 30px 90px #0005; }
    dialog::backdrop { background:rgba(11,27,43,.65); }
    .modal-body { padding:37px; }
    .modal-close { position:absolute;right:20px;top:15px;border:none;background:transparent;color:var(--navy);font-size:30px; }
    dialog h3 { font-size:28px; margin-bottom:13px; }
    dialog .hint { font-size:13px; line-height:1.7; }
    .form-grid {display:grid;gap:15px;margin-top:20px;}
    .form-grid label {display:block;font-size:12px;font-weight:610;}
    .form-grid input,.form-grid textarea { background:white;width:100%;padding:12px 14px; margin-top:6px; color:var(--navy); border:1px solid #C7C4BC; border-radius:1px; font-size:14px; }
    .form-grid textarea { min-height:100px; resize:vertical; }
    .form-note { font-size:12px;color:var(--grafite);margin:0; }
    .demo-notice {display:none;background:#E8E1D7;padding:13px;font-size:13px;margin-top:17px;}
    @media(max-width:1120px) { .header-inner {width:calc(100% - 48px)} .desktop-nav{gap:15px;} .site-logo{width:215px;} .container{width:calc(100% - 68px)}.hero-copy{padding-left:34px;} }
    @media(max-width:900px) { .desktop-nav,.header-cta {display:none;} .mobile-toggle{display:block;} .header-inner {height:72px;width:calc(100% - 42px)} .site-logo {width:208px;} .mobile-panel{display:none; border-top:1px solid #E7E3DA;padding:13px 21px 24px;background:var(--ivory);} .mobile-panel.open{display:flex; flex-direction:column;gap:0;} .mobile-panel a{padding:12px 4px; border-bottom:1px solid #E6E1D8;font-size:14px;} .mobile-panel .mobile-contact{margin-top:15px;background:var(--navy);color:white;text-align:center;padding:12px;} .hero-grid {grid-template-columns:1fr;}.hero-copy{padding:76px 34px 52px;} .hero-copy h1{max-width:800px;} .hero-media{height:440px;} .hero-media::before{display:none;} .hero-bottom{margin-top:55px;} .approach-grid,.profile-grid{grid-template-columns:1fr;gap:42px;} .approach-art{height:330px;} .process{max-width:600px;} .comp-top{align-items:start; flex-direction:column; gap:15px;} .services{grid-template-columns:1fr;} .service,.service:first-child{display:grid;grid-template-columns:75px 1fr;padding:27px 0;border:0;border-top:1px solid #CDC8BE;gap:0 16px;} .service-icon{grid-row:span 2;margin:0;} .service h3{min-height:0;margin:0 0 9px;} .service p{max-width:550px;} .project-grid{grid-template-columns:repeat(2,1fr);}.project-card:last-child{grid-column:span 2;} .project-card:last-child .project-image{aspect-ratio:1.8/1;} .profile-visual{height:350px;} .contact-grid{grid-template-columns:1fr;gap:30px;} .contact-actions{max-width:100%;margin-left:0;} }
    @media(max-width:600px) { html{scroll-padding-top:65px;} .container{width:calc(100% - 40px)} .header-inner{height:67px;width:calc(100% - 36px)} .site-logo{width:181px;} h1{font-size:clamp(38px,9vw,51px);} h2{font-size:36px;} h3{font-size:21px;} .eyebrow{font-size:10px;letter-spacing:.15em;} .hero-copy{padding:62px 20px 40px;} .hero-copy h1{font-size:clamp(38px,9vw,54px);margin:20px 0;} .hero-copy .lead{font-size:14px;} .hero-actions{flex-direction:column;} .hero-actions .btn{width:100%;} .hero-bottom{margin-top:42px;gap:16px 13px;} .hero-bottom span{flex:1 1 42%;font-size:11px;} .hero-media{height:310px;} .hero-photo-caption{font-size:9px;} .section{padding:80px 0;} .approach-art{height:245px;} .approach-copy p,.section-intro p{font-size:14px;} .process{grid-template-columns:repeat(2,1fr);gap:20px;} .comp-top{margin-bottom:30px;} .service,.service:first-child{display:grid;grid-template-columns:58px 1fr; gap:0 13px;} .service-icon{width:49px;height:49px;} .service-icon svg{width:24px;height:24px;} .service h3{font-size:18px;} .service p{font-size:12px;} .projects-top{display:block;} .example-note{margin-top:16px;} .project-grid{grid-template-columns:1fr;gap:35px;} .project-card:last-child{grid-column:auto;} .project-card:last-child .project-image{aspect-ratio:1.17/1;} .project-bottom{display:block;}.project-bottom .link{margin-top:13px;} .profile-visual{height:260px;} .profile-visual::after{width:200px;height:200px;} .profile-visual::before{width:160px;height:160px;} .profile-visual .mark{width:140px;} .partner-grid{grid-template-columns:1fr;} .partner-card{min-height:285px;padding:34px 27px;} .contact{padding:75px 0 30px;} .footer{margin-top:60px;align-items:start; flex-direction:column;} .modal-body{padding:30px 20px;} .prototype-chip{bottom:9px;right:9px;font-size:9px;padding:6px 8px;} }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*:before,*:after{transition:none!important;}}
  
/* Editorial refinements V2 */
button.link { appearance:none; background:transparent; border:0; border-bottom:1px solid var(--bronze); border-radius:0; font-size:13px; color:inherit; font-weight:650; line-height:1.5; cursor:pointer; padding:0 0 7px; text-align:left; }
button.link:hover { color:#B7A07E; }
button.link:focus-visible { outline:3px solid var(--bronze); outline-offset:3px; }

.hero-copy h1 {max-width:770px;}
.hero-bottom {gap:24px;}
.hero-bottom span {min-width:145px;}
.form-grid [hidden]{display:none!important;}
.project-card .project-content {min-height:200px;}
.service-icon {border-radius:50%;}
@media (max-width:600px){.project-card .project-content{min-height:auto;}.hero-bottom span{min-width:0;}}


/* PORTFOLIO V3 — additions to the approved V2 layout. */
.skip-link{position:absolute;left:18px;top:-90px;background:var(--navy);color:#fff;padding:11px 16px;z-index:200}.skip-link:focus{top:15px}
.project-card.project-card--link{display:block;transition:transform .25s ease}.project-card.project-card--link:hover{transform:translateY(-4px)}
.project-card--link:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}
.project-card--link .project-content{min-height:205px;display:flex;flex-direction:column;align-items:start}
.project-card--link .project-content p{margin-bottom:16px}.card-read{font-size:12px;color:var(--navy);font-weight:700;margin-top:auto;border-bottom:1px solid var(--bronze);padding-bottom:3px}
.project-card .project-image{aspect-ratio:1.28 / 1}.project-bottom p{max-width:690px}
.media-placeholder{height:100%;min-height:240px;position:relative;isolation:isolate;overflow:hidden;background:#EDEAE5;display:flex;align-items:flex-end;justify-content:space-between;padding:22px;color:var(--navy)}
.media-placeholder:before{content:"";position:absolute;inset:14% 17% 16% 16%;z-index:-1;border:1px solid #BCB5A9;transform:skewY(-9deg)}
.media-placeholder:after{content:"";position:absolute;width:66%;height:71%;right:-3%;top:18%;z-index:-1;border-left:1px solid #C5BEB3;border-top:1px solid #C5BEB3;transform:rotate(-27deg)}
.media-placeholder .shape-a,.media-placeholder .shape-b{position:absolute;z-index:-1;border:1px solid #CBC4BA;}
.media-placeholder .shape-a{left:25%;top:30%;width:44%;height:43%;transform:rotate(17deg)}
.media-placeholder .shape-b{left:34%;top:17%;width:44%;height:53%;transform:rotate(-11deg)}
.media-placeholder[data-tone="navy"]{background:#24384B;color:#F6F5F2}
.media-placeholder[data-tone="navy"]:before,.media-placeholder[data-tone="navy"]:after,.media-placeholder[data-tone="navy"] .shape-a,.media-placeholder[data-tone="navy"] .shape-b{border-color:#698092}
.media-placeholder[data-tone="sand"]{background:#E6E0D7}
.media-placeholder[data-tone="grey"]{background:#DCE0E1}
.ph-index{font-size:12px;letter-spacing:.15em;color:var(--bronze);font-weight:700}
.ph-label{font-size:10px;line-height:1.5;letter-spacing:.11em;text-align:right;text-transform:uppercase;max-width:115px;color:inherit;opacity:.8}
.ph-big{font-size:clamp(50px,9vw,96px);font-weight:300;line-height:.9;letter-spacing:-.08em;opacity:.7}
.preview-status{font-size:11px;color:#6F7374;max-width:580px}
.project-section-intro{max-width:720px}
.projects-top .section-intro p{max-width:650px;margin:20px 0 0}
/* Additional pages */
.page-hero{padding:106px 0 86px;background:linear-gradient(126deg,#F7F6F3,#EEECE6)}
.page-hero .eyebrow{margin-bottom:26px}.page-hero h1{max-width:985px;font-size:clamp(43px,5vw,76px);margin-bottom:22px}
.page-hero p{max-width:780px;font-size:17px;line-height:1.78}
.page-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#7A7E80;font-size:12px;margin-bottom:55px}
.page-breadcrumb a:hover{color:var(--navy);text-decoration:underline}.page-breadcrumb [aria-current="page"]{color:var(--navy)}
.project-listing{background:white;padding:95px 0 112px}
.project-listing .project-grid{gap:23px}
.project-listing .project-image{aspect-ratio:1.13/1}
.page-quote{padding:72px 0;background:var(--navy);color:white}.page-quote p{color:#D0D6DA;font-size:21px;max-width:880px;line-height:1.6;margin:20px 0 25px}
.project-kpis{display:flex;gap:11px;flex-wrap:wrap;margin-top:35px}
.project-kpis span{font-size:11px;letter-spacing:.1em;padding:9px 15px;border:1px solid #CBC6BC;text-transform:uppercase;color:var(--grafite)}
.case-hero{padding:84px 0 0;background:#F6F5F2}
.case-hero .page-breadcrumb{margin-bottom:55px}
.case-hero .eyebrow{margin-bottom:20px}
.case-hero h1{font-size:clamp(43px,5vw,72px);margin-bottom:22px;max-width:950px}
.case-hero .lead{font-size:17px;line-height:1.75;max-width:765px;margin-bottom:15px}
.case-hero-media{margin-top:70px;height:clamp(330px,46vw,590px)}
.case-hero-media .media-placeholder{height:100%;padding:36px 48px}
.case-hero-media .ph-label{max-width:185px}.case-hero-media .ph-big{font-size:clamp(85px,14vw,185px)}
.case-layout{padding:116px 0;background:white}
.case-columns{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:12%;align-items:start}
.case-story{max-width:740px}.case-story section+section{margin-top:65px}
.case-story h2{font-size:clamp(30px,3vw,43px);margin:12px 0 22px}.case-story p{font-size:15px;line-height:1.95;margin:0 0 16px}
.case-story ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}
.case-story li{padding-left:20px;border-left:2px solid var(--bronze);font-size:14px;color:var(--grafite);line-height:1.75}
.case-aside{position:sticky;top:120px;border-top:2px solid var(--bronze);padding-top:24px}
.case-aside h3{font-size:15px;letter-spacing:0;margin:0 0 20px}
.case-fact{padding:17px 0;border-bottom:1px solid #DDDAD3}.case-fact span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8A765C;margin-bottom:7px}.case-fact strong{display:block;font-size:13px;line-height:1.55;font-weight:570}
.case-aside small{display:block;margin-top:26px;font-size:11px;line-height:1.65;color:#797D80}
.case-gallery{background:#EFEDE8;padding:95px 0 100px}.case-gallery h2{margin-bottom:8px}.case-gallery .gallery-desc{margin-bottom:36px;max-width:630px;font-size:14px;line-height:1.8}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card .media-placeholder{height:210px;min-height:210px;padding:16px}.gallery-card .ph-big{font-size:58px}.gallery-card p{margin:13px 0 0;color:var(--navy);font-size:12px;font-weight:600}
.related{background:white;padding:100px 0 112px}.related-top{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:34px}.related-top h2{margin:10px 0 0}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.related-card{background:var(--ivory);padding:38px;min-height:230px;display:flex;flex-direction:column;align-items:start;transition:background .2s}.related-card:hover{background:#ECE6DB}.related-card .eyebrow{margin-bottom:14px}.related-card h3{font-size:25px;max-width:370px}.related-card .card-read{margin-top:auto}
.project-footer-cta{background:var(--navy);padding:86px 0 44px;color:white}.project-footer-cta .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:70px}.project-footer-cta h2{max-width:670px;margin:10px 0 15px}.project-footer-cta p{color:#C7D0D7;max-width:570px;margin:0}.project-footer-cta .footer{margin-top:0}
.site-footer-bottom{color:#A5B4C0;font-size:11px;margin-top:28px}
.case-disclaimer{display:block;font-size:11px;color:#6F7374;margin-top:14px;line-height:1.7}
@media(max-width:900px){.case-columns{grid-template-columns:1fr;gap:55px}.case-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px}.case-aside h3{grid-column:span 2}.case-aside small{grid-column:span 2}.case-gallery .gallery-grid{grid-template-columns:repeat(2,1fr)}.case-gallery .gallery-card:last-child{grid-column:span 2}.case-gallery .gallery-card:last-child .media-placeholder{height:250px}.project-footer-cta .cta-inner{display:block}.project-footer-cta .cta-inner .btn{margin-top:26px}}
@media(max-width:600px){.project-card .project-image{aspect-ratio:1.18/1}.page-hero{padding:65px 0}.page-hero .page-breadcrumb{margin-bottom:35px}.page-hero p{font-size:15px}.project-listing{padding:75px 0}.case-hero{padding-top:48px}.case-hero .page-breadcrumb{margin-bottom:38px}.case-hero .lead{font-size:15px}.case-hero-media{margin-top:46px;height:350px}.case-hero-media .media-placeholder{padding:21px}.case-layout{padding:76px 0}.case-story section+section{margin-top:47px}.case-story h2{font-size:31px}.case-story p{font-size:14px}.case-aside{grid-template-columns:1fr}.case-aside h3,.case-aside small{grid-column:auto}.case-gallery{padding:70px 0}.case-gallery .gallery-grid{grid-template-columns:1fr}.case-gallery .gallery-card:last-child{grid-column:auto}.case-gallery .gallery-card:last-child .media-placeholder{height:210px}.related{padding:75px 0}.related-top{display:block}.related-grid{grid-template-columns:1fr}.related-card{min-height:205px;padding:30px}.project-footer-cta{padding:70px 0 27px}.project-footer-cta .cta-inner{padding-bottom:55px}.project-footer-cta .footer{margin-top:0}.page-quote p{font-size:17px}}

@media(min-width:901px){.approach-grid{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}}


/* HOME V4 — photographic full-screen cover. The photo is the existing V2 demonstration asset,
   not a representation of one of the portfolio case studies. */
.hero.hero--fullscreen {
  min-height: max(720px, calc(100vh - 86px));
  min-height: max(720px, calc(100svh - 86px));
  background:#122339;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:stretch;
  color:#F6F5F2;
}
.hero--fullscreen .hero-backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 44%;
  z-index:-2;
}
.hero--fullscreen .hero-shade {
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(9,25,41,.86) 0%, rgba(9,25,41,.72) 29%,rgba(9,25,41,.33) 59%,rgba(9,25,41,.08) 100%),
    linear-gradient(0deg,rgba(9,25,41,.35),transparent 43%);
}
.hero--fullscreen .hero-content {
  width:min(100%,1500px);
  margin:auto;
  display:flex;
  align-items:center;
  flex:1;
}
.hero--fullscreen .hero-copy {
  width:100%;
  padding:clamp(75px,9vh,125px) 5% 100px max(48px,calc((100vw - 1240px) / 2));
  z-index:1;
}
.hero--fullscreen .hero-copy h1 {
  max-width:735px;
  font-size:clamp(49px,4.4vw,72px);
  line-height:1.1;
  color:#F6F5F2;
  text-wrap:balance;
  margin:29px 0 31px;
}
.hero--fullscreen .hero-copy .lead {
  color:#EDF0F0;
  max-width:660px;
  line-height:1.83;
  font-size:16px;
  text-wrap:pretty;
}
.hero--fullscreen .eyebrow {color:#C6A77F;}
.hero--fullscreen .hero-actions {margin-top:34px;}
.hero--fullscreen .hero-actions .btn {background:#122339; color:white;border-color:#122339;}
.hero--fullscreen .hero-actions .btn:hover {background:#223F5C;}
.hero--fullscreen .hero-actions .btn--outline {background:rgba(10,28,44,.14);border-color:rgba(255,255,255,.86);color:white;}
.hero--fullscreen .hero-actions .btn--outline:hover {background:rgba(246,245,242,.19);}
.hero--fullscreen .hero-bottom {
  margin-top:clamp(70px,11vh,128px);
  display:flex;
  flex-wrap:wrap;
  gap:34px;
}
.hero--fullscreen .hero-bottom span {
  color:#EDF0F0;
  border-left:1px solid #BBA07F;
  padding-left:16px;
  min-width:145px;
  font-size:12px;
}
.hero--fullscreen .hero-photo-caption {
  bottom:18px;
  right:24px;
  font-size:9px;
  color:#F6F5F2;
  opacity:.9;
  text-shadow:0 1px 9px #091929;
  white-space:nowrap;
}
@media (min-width:1500px) {
  .hero--fullscreen .hero-copy {padding-left:calc((100% - 1240px) / 2);}
}
@media (max-width:1120px) {
  .hero--fullscreen .hero-copy {padding-left:40px;}
  .hero--fullscreen .hero-copy h1 {max-width:670px;}
}
@media (max-width:900px) {
  .hero.hero--fullscreen {min-height:calc(100svh - 72px);}
  .hero--fullscreen .hero-backdrop {object-position:63% center;}
  .hero--fullscreen .hero-shade {background:
    linear-gradient(90deg,rgba(9,25,41,.82),rgba(9,25,41,.48) 72%,rgba(9,25,41,.28)),
    linear-gradient(0deg,rgba(9,25,41,.37),transparent 58%);}
  .hero--fullscreen .hero-copy {padding:72px 34px 90px;}
  .hero--fullscreen .hero-copy h1 {max-width:700px;}
  .hero--fullscreen .hero-bottom {margin-top:68px;}
}
@media (max-width:600px) {
  .hero.hero--fullscreen {min-height:calc(100svh - 67px);}
  .hero--fullscreen .hero-backdrop {object-position:65% center;}
  .hero--fullscreen .hero-shade {background:
    linear-gradient(90deg,rgba(9,25,41,.84),rgba(9,25,41,.70) 52%,rgba(9,25,41,.48)),
    linear-gradient(0deg,rgba(9,25,41,.50),transparent 70%);}
  .hero--fullscreen .hero-copy {padding:70px 20px 95px;}
  .hero--fullscreen .hero-copy h1 {font-size:clamp(38px,9vw,52px);max-width:500px;margin:20px 0 24px;}
  .hero--fullscreen .hero-copy .lead {font-size:14px;line-height:1.78;max-width:510px;}
  .hero--fullscreen .hero-actions {gap:10px;margin-top:26px;}
  .hero--fullscreen .hero-bottom {margin-top:62px;gap:20px 12px;}
  .hero--fullscreen .hero-bottom span {flex:1 1 44%;min-width:0;font-size:11px;}
  .hero--fullscreen .hero-photo-caption {right:16px;bottom:12px;font-size:7px;letter-spacing:.1em;}
}
@media (max-width:360px) {
  .hero--fullscreen .hero-copy {padding-top:47px;padding-bottom:78px;}
  .hero--fullscreen .hero-copy h1 {font-size:36px;}
  .hero--fullscreen .hero-bottom {margin-top:40px;}
}

/* ========================================================================
   HOMEPAGE V5 — Finalized approved editorial layout and demo-only contacts
   ======================================================================== */
.approach-v5{background:#F6F5F2}
.approach-v5-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start;margin-top:25px}
.approach-v5 h2{max-width:610px}
.approach-v5-copy p{font-size:15px;line-height:1.93;margin-bottom:15px}
.process-v5{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #D4CEC4;gap:28px;padding-top:30px;margin-top:68px}
.process-v5 .process-item{border-left:2px solid var(--bronze);padding:0 12px 0 17px}
.process-v5 .n{font-size:10px;letter-spacing:.13em;margin-bottom:8px}
.process-v5 .label{font-weight:630;font-size:19px;letter-spacing:-.02em}
.process-v5 .detail{display:block;font-size:12px;color:var(--grafite);margin-top:4px}
.competences-v5{background:#F0EDE8}
.competences-v5 .comp-top{align-items:start}
.competences-v5 .comp-top>p{max-width:400px;line-height:1.85}
.services-v5{border-top:1px solid #CDC7BC;padding-top:31px}
.services-v5 .service{padding-top:0}
.services-v5 .service-index{display:block;font-size:11px;letter-spacing:.12em;color:#9D856A;margin-bottom:29px}
.services-v5 .service h3{margin-bottom:20px}
.services-v5 .service p{font-size:13px;line-height:1.92}
.projects .project-content{min-height:265px}
.projects .project-content h3{min-height:50px}
.profile-v5-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}
.portrait-placeholder{width:100%;aspect-ratio:3/4;max-height:580px;background:#E8E4DB;position:relative;display:grid;place-items:center;overflow:hidden}
.portrait-frame{height:75%;width:66%;border:1px solid #C9C0B4;transform:rotate(12deg)}
.portrait-frame:after{content:"";position:absolute;inset:15%;border:1px solid #D0C8BE;transform:rotate(-19deg)}
.portrait-tag{position:absolute;bottom:28px;left:28px;color:#7B796F;font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.11em}
.profile-v5-copy p{font-size:15px;line-height:1.88;margin-bottom:16px}
.profile-v5-copy .link{margin-top:12px}
.partnership-v5{background:var(--navy);color:var(--ivory)}
.partnership-v5 .partners-head{max-width:830px;margin-bottom:46px}
.partnership-v5 .partners-head h2{color:#fff}
.partnership-v5 .partners-head p{max-width:830px;color:#D3DBE0}
.partnership-v5 .partner-grid{gap:20px}
.partnership-v5 .partner-card,.partnership-v5 .partner-card.dark{background:transparent;border:1px solid #647181;min-height:330px;padding:45px 42px;color:#fff}
.partnership-v5 .partner-card-number{color:#C7AE8B;letter-spacing:.14em;font-size:11px;margin-bottom:36px}
.partnership-v5 .partner-card h3{color:#fff}
.partnership-v5 .partner-card p{color:#D3DBE0;max-width:480px}
.partnership-v5 .partner-card .link{color:#E6CCAC}
.partnership-v5 .partner-card .link:hover{color:white}
.contact-v5{background:var(--ivory);color:var(--navy);padding:112px 0 40px}
.contact-v5-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:8%;align-items:start}
.contact-v5-intro h2{max-width:540px;margin:24px 0}
.contact-v5-intro p{color:var(--grafite);font-size:15px;line-height:1.86;max-width:500px;margin-bottom:17px}
.contact-v5-note{font-size:12px;color:#62696F;line-height:1.75;margin-top:38px;max-width:420px;display:flex;gap:12px}
.contact-v5-note .note-bar{display:block;width:3px;background:var(--bronze);flex:none}
.contact-form-card{border:1px solid #D8D3CA;background:#fff;padding:42px 43px 38px;box-shadow:0 10px 42px rgba(18,35,57,.035)}
.contact-form-card fieldset{border:0;margin:0 0 29px;padding:0;min-width:0}
.contact-form-card legend{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:12px}
.contact-type{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.contact-type legend{grid-column:1/-1}
.contact-type .type-tab{display:block;min-width:0;cursor:pointer;position:relative}
.type-tab input{position:absolute;opacity:0;width:1px;height:1px}
.type-tab span{display:flex;align-items:center;justify-content:center;min-height:51px;text-align:center;border:1px solid #C9CDD0;background:#F7F6F3;color:var(--navy);padding:9px 8px;font-size:12px;font-weight:680;line-height:1.35;transition:background .18s,color .18s}
.type-tab input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.type-tab input:focus-visible+span{outline:3px solid var(--bronze);outline-offset:3px}
.contact-fields{display:grid;grid-template-columns:1fr;gap:17px;margin:0 0 16px}
.contact-fields.two-col{grid-template-columns:1fr 1fr}
.contact-fields label{display:block;font-size:12px;line-height:1.45;font-weight:650;color:var(--navy)}
.contact-fields label span{color:#987147}
.contact-fields label em{font-size:11px;font-weight:450;font-style:normal;color:#797D80}
.contact-fields input,.contact-fields textarea,.contact-fields select{width:100%;display:block;margin-top:7px;color:var(--navy);font-size:13px;background:#F9F8F5;border:1px solid #DAD7CF;border-radius:0;padding:12px 13px;line-height:1.5;outline:0}
.contact-fields input:focus,.contact-fields textarea:focus,.contact-fields select:focus{border-color:#A58F72;box-shadow:0 0 0 2px #A58F7238}
.contact-fields textarea{resize:vertical;min-height:125px}
.contact-fields [hidden],.contact-v5 [hidden]{display:none!important}
.privacy-pending{font-size:11px!important;color:#6E7477!important;line-height:1.6!important;margin:25px 0 16px!important}
.contact-preview-submit{width:100%;justify-content:space-between;text-align:left}
.contact-demo-info{margin:15px 0 0!important;max-width:unset!important;font-size:10px!important;color:#6E7477!important;line-height:1.65!important;letter-spacing:.025em}
.contact-result{color:#2E5E49!important;background:#EAF0EB;padding:14px;font-size:12px!important;line-height:1.7!important;margin:18px 0 0!important;max-width:unset!important}
.footer-v5{border-top:1px solid #D9D5CE;margin-top:110px}
.footer-v5 img{width:210px}
.footer-v5 p{color:var(--grafite);font-size:11px}
@media(max-width:1050px){.profile-v5-grid{gap:6%}.contact-v5-grid{gap:5%}.contact-form-card{padding:32px}}
@media(max-width:900px){
.approach-v5-grid{grid-template-columns:1fr;gap:18px}
.process-v5{margin-top:45px}
.profile-v5-grid{grid-template-columns:1fr 1fr;gap:6%}
.contact-v5-grid{grid-template-columns:1fr;gap:32px}
.contact-v5-intro h2{max-width:800px}
.contact-v5-intro p{max-width:680px}
.contact-form-card{max-width:820px}
}
@media(max-width:600px){
.approach-v5 .eyebrow{margin-bottom:20px}
.process-v5{grid-template-columns:1fr;gap:27px}
.services-v5{padding-top:28px}
.services-v5 .service-index{margin-bottom:15px}
.projects .project-content{min-height:unset}
.projects .project-content h3{min-height:unset}
.profile-v5-grid{grid-template-columns:1fr}
.profile-v5-copy{order:0}
.portrait-placeholder{order:1;max-height:440px;aspect-ratio:3/3.3}
.partnership-v5 .partner-card,.partnership-v5 .partner-card.dark{padding:30px 25px;min-height:310px}
.contact-v5{padding:77px 0 26px}
.contact-v5-grid{gap:25px}
.contact-form-card{padding:23px 18px}
.contact-fields.two-col{grid-template-columns:1fr}
.type-tab span{font-size:11px}
.footer-v5{margin-top:66px}
}

/* V6 — Progettazione diretta, incarichi privati e tre percorsi di contatto */
.partnership-v5 .partner-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.partnership-v5 .partner-grid--three .partner-card{min-width:0;min-height:375px;padding:32px 26px;display:flex;flex-direction:column;align-items:flex-start}
.partnership-v5 .partner-grid--three .partner-card-number{font-size:10px;margin-bottom:27px}
.partnership-v5 .partner-grid--three .partner-card h3{font-size:clamp(20px,1.8vw,26px);line-height:1.22;overflow-wrap:anywhere}
.partnership-v5 .partner-grid--three .partner-card p{font-size:13px;line-height:1.8;flex:1}
.partnership-v5 .partner-grid--three .partner-card .link{margin-top:18px}
.contact-type{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-type .type-tab span{padding:10px 6px;min-height:65px;font-size:11px;hyphens:auto}
@media(max-width:1000px){
 .partnership-v5 .partner-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partnership-v5 .partner-grid--three .partner-card{min-height:305px}
 .partnership-v5 .partner-grid--three .partner-card:last-child{grid-column:span 2;min-height:235px}
}
@media(max-width:650px){
 .partnership-v5 .partner-grid--three{grid-template-columns:1fr}
 .partnership-v5 .partner-grid--three .partner-card,.partnership-v5 .partner-grid--three .partner-card:last-child{grid-column:auto;min-height:0;padding:30px 25px}
 .partnership-v5 .partner-grid--three .partner-card p{margin-bottom:23px}
 .contact-type{grid-template-columns:1fr}
 .contact-type .type-tab span{min-height:44px;font-size:12px;justify-content:flex-start;padding:11px 14px}
}


/* V7 — Actual photographed COMI project; full-screen hero, legible text and responsive crop. */
.hero--fullscreen .hero-backdrop { object-position: 51% 50%; }
.hero--fullscreen .hero-shade {
 background:
  linear-gradient(90deg, rgba(9,25,41,.91) 0%, rgba(9,25,41,.83) 22%, rgba(9,25,41,.62) 43%, rgba(9,25,41,.29) 67%, rgba(9,25,41,.10) 100%),
  linear-gradient(0deg,rgba(9,25,41,.26), transparent 52%);
}
.hero--fullscreen .hero-copy {padding-top:clamp(65px,8vh,104px);padding-bottom:clamp(50px,7vh,85px);}
.hero--fullscreen .hero-copy h1 {max-width:600px;}
.hero--fullscreen .hero-copy .lead {max-width:570px;}
.hero--fullscreen .eyebrow {letter-spacing:.14em;font-size:11px;max-width:760px;}
.hero--fullscreen .hero-bottom {margin-top:clamp(55px,7vh,86px);}
.hero--fullscreen .hero-photo-caption {bottom:55px;font-size:9px;background:rgba(9,25,41,.36);padding:6px 9px;letter-spacing:.08em;max-width:calc(100% - 30px);white-space:normal;line-height:1.35;text-align:right;}
.hero-private-link {display:inline-flex;align-items:baseline;gap:7px;margin-top:19px;font-size:12px;color:#E6E9E9;border-bottom:1px solid rgba(255,255,255,.36);padding-bottom:5px;transition:color .16s,border-color .16s;}
.hero-private-link span {font-weight:700;color:#F7F7F5;white-space:nowrap;}
.hero-private-link:hover {color:white;border-color:white;}
.hero-private-link:focus-visible {outline:3px solid #A58F72;outline-offset:5px;}
@media(max-width:900px){
 .hero--fullscreen .hero-backdrop {object-position:64% center;}
 .hero--fullscreen .hero-shade {background:
   linear-gradient(90deg,rgba(9,25,41,.85),rgba(9,25,41,.67) 65%,rgba(9,25,41,.30)),
   linear-gradient(0deg,rgba(9,25,41,.38), transparent 65%);
 }
 .hero--fullscreen .hero-copy {padding:76px 34px 80px;}
 .hero--fullscreen .hero-bottom {margin-top:58px;}
}
@media(max-width:600px){
 .hero--fullscreen .hero-backdrop {object-position:72% center;}
 .hero--fullscreen .hero-shade {background:
   linear-gradient(90deg,rgba(9,25,41,.86),rgba(9,25,41,.76) 58%,rgba(9,25,41,.56)),
   linear-gradient(0deg,rgba(9,25,41,.52), transparent 75%);
 }
 .hero--fullscreen .hero-copy {padding:48px 20px 73px;}
 .hero--fullscreen .hero-copy h1 {font-size:clamp(37px,9vw,52px);margin:17px 0 22px;}
 .hero--fullscreen .hero-copy .lead {font-size:13.8px;line-height:1.66;}
 .hero--fullscreen .hero-actions {margin-top:23px;}
 .hero--fullscreen .eyebrow {font-size:9px;letter-spacing:.10em;line-height:1.65;}
 .hero-private-link {font-size:11px;line-height:1.6;display:block;max-width:360px;margin-top:18px;}
 .hero--fullscreen .hero-bottom {margin-top:46px;}
 .hero--fullscreen .hero-photo-caption {font-size:7px;opacity:.8;right:7px;bottom:37px;}
}
@media(max-width:360px){
 .hero--fullscreen .hero-copy {padding-top:33px;padding-bottom:63px;}
 .hero--fullscreen .hero-copy h1 {font-size:35px;}
 .hero--fullscreen .hero-bottom {margin-top:37px;}
}

/* V8 — hero essenziale: immagine reale, payoff, titolo e descrizione; nessuna CTA nell'hero. */
.hero--fullscreen .hero-copy { padding-top:clamp(55px,7vh,90px); padding-bottom:clamp(70px,8vh,105px); }
.hero--fullscreen .hero-shade { background:
 linear-gradient(90deg, rgba(9,25,41,.86) 0%, rgba(9,25,41,.79) 23%, rgba(9,25,41,.57) 43%, rgba(9,25,41,.27) 67%, rgba(9,25,41,.08) 100%),
 linear-gradient(0deg,rgba(9,25,41,.23),transparent 54%); }
@media(max-width:900px){.hero--fullscreen .hero-copy{padding:70px 34px 92px}}
@media(max-width:600px){
 .hero--fullscreen .hero-copy{padding:44px 20px 100px}
 .hero--fullscreen .hero-copy h1{margin:20px 0 25px}
 .hero--fullscreen .hero-shade{background:linear-gradient(90deg,rgba(9,25,41,.86),rgba(9,25,41,.78) 58%,rgba(9,25,41,.53)),linear-gradient(0deg,rgba(9,25,41,.42),transparent 68%)}
 .hero--fullscreen .hero-photo-caption{bottom:16px}
}

/* Professional contact details */
.footer{flex-wrap:wrap}.professional-details{flex:1 0 100%;min-width:0}.professional-details p{line-height:1.8;max-width:none}.contact-v5-intro a{overflow-wrap:anywhere}

/* V9.1: completed portfolio and profile without portrait. */
.profile-v5-grid{grid-template-columns:1fr;max-width:960px}.profile-v5-copy{max-width:none}.profile-v5-copy>p{max-width:780px}
.qualifications{margin:32px 0;border-top:1px solid #d1cbc1;padding-top:26px}.qualifications h3{font-size:23px;margin:0 0 20px}.qualifications ul{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;list-style:none;padding:0;margin:0}.qualifications li{font-size:14px;line-height:1.7;border-left:2px solid var(--bronze);padding-left:16px}
.case-hero-media{height:auto}.case-hero-media>img{width:100%;height:auto;max-height:650px;object-fit:contain;background:#edeae5;display:block}
.gallery-image{display:flex;align-items:center;justify-content:center;height:240px;background:#edeae5;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:contain}.gallery-plan{background:#fff}.gallery-image:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}
@media(max-width:600px){.qualifications ul{grid-template-columns:1fr}.gallery-image{height:auto;min-height:180px}.gallery-image img{height:auto;max-height:420px}.case-hero-media{height:auto}}
/* V9.1: correzione tecnica del layout V5 dei servizi su schermi stretti. */
@media(max-width:900px){.services-v5 .service,.services-v5 .service:first-child{display:block;padding:27px 0}.services-v5 .service-index{margin-bottom:15px}}
/* V9.1 revisione immagini: riempimento dei box senza deformazioni. */
.project-image{overflow:hidden}.project-image>img{width:100%;height:100%;object-fit:cover;object-position:center}
.case-hero-media{height:520px;overflow:hidden}.case-hero-media>img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.gallery-image{height:240px;min-height:0;overflow:hidden}.gallery-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
@media(max-width:600px){.case-hero-media{height:350px}.gallery-image{height:auto;aspect-ratio:3/2}.gallery-image img{height:100%;max-height:none}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-result{overflow-wrap:anywhere}.privacy-copy{max-width:850px;margin:auto}.privacy-copy h2{font-size:1.5rem;margin:2rem 0 1rem}.privacy-copy p{margin-bottom:1rem}.contact-preview-submit:disabled{opacity:.65;cursor:wait}
