/*
 * CASALI — Page d'attente premium, v1.0.0
 * Official colors, native mobile experience, no external JS/CSS dependency.
 * Tenor Sans is the sole title typeface; Jost is the interface/body typeface.
 */
:root{
 --cm-chaux:#F7F2E9;
 --cm-travertin:#E4D9C6;
 --cm-galet:#C9BCA6;
 --cm-terre:#2E2620;
 --cm-pierre:#6E6459;
 --cm-laiton:#B39762;
 --cm-ink:#443A32;
 --cm-line:rgba(46,38,32,.15);
 --cm-serif:"Tenor Sans",serif;
 --cm-sans:"Jost",sans-serif;
 --cm-gutter:clamp(22px,5vw,88px);
 --cm-width:1500px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:26px}
body.cm-page{margin:0;padding:0;color:var(--cm-terre);background:var(--cm-chaux);font:400 16px/1.7 var(--cm-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.cm-page a{color:inherit;text-decoration:none}
.cm-page button,.cm-page input,.cm-page select,.cm-page textarea{font-family:var(--cm-sans)}
.cm-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #967941;outline-offset:4px}
.cm-page img{max-width:100%;display:block}
.cm-page h1,.cm-page h2,.cm-page h3{font-family:var(--cm-serif);font-weight:400;letter-spacing:-.027em;line-height:1.17;text-wrap:balance}
.cm-page p,.cm-page h1,.cm-page h2,.cm-page h3{margin-top:0}
.cm-page p{text-wrap:pretty}
.cm-wrap{max-width:var(--cm-width);margin-inline:auto;padding-inline:var(--cm-gutter)}
.cm-skip{position:fixed;z-index:1001;top:-110px;left:25px;background:var(--cm-terre);color:var(--cm-chaux)!important;padding:11px 15px}
.cm-skip:focus{top:12px}
.cm-header{height:clamp(82px,7.5vw,104px);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--cm-line)}
.cm-identity{width:clamp(185px,19vw,265px);flex:none}
.cm-identity img{width:100%;height:auto}
.cm-header-phone{display:inline-flex;align-items:center;gap:17px;white-space:nowrap;font:500 10px/1.6 var(--cm-sans);letter-spacing:.115em;text-transform:uppercase}
.cm-header-phone-number{font-size:13px;letter-spacing:.04em;white-space:nowrap}
.cm-header-arrow{color:var(--cm-laiton);font-size:21px;line-height:1}
.cm-header-phone:hover .cm-header-phone-number{text-decoration:underline;text-decoration-color:var(--cm-laiton);text-underline-offset:6px}
.cm-hero{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:stretch;min-height:clamp(620px,69svh,850px);padding-top:0;padding-bottom:0}
.cm-hero-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px clamp(36px,6.2vw,102px) 70px 0}
.cm-eyebrow{font:500 10px/1.75 var(--cm-sans);letter-spacing:.16em;text-transform:uppercase;color:#685D53;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:clamp(27px,3.4vw,49px)}
.cm-miniline{width:37px;height:1px;background:var(--cm-laiton);display:inline-block;flex:none}
.cm-eyebrow-dot{color:var(--cm-laiton)}
.cm-hero h1{font-size:clamp(43px,4.8vw,78px);max-width:12.8ch;letter-spacing:-.034em;margin:0 0 clamp(22px,2.7vw,38px)}
.cm-hero-lead{font-size:clamp(15.5px,1.22vw,18px);line-height:1.84;max-width:51ch;color:#5A5046;margin:0}
.cm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(26px,3.7vw,52px)}
.cm-button{display:inline-flex;align-items:center;justify-content:space-between;gap:21px;min-height:53px;font:500 11px/1.3 var(--cm-sans);letter-spacing:.095em;text-transform:uppercase;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.cm-button-primary{background:var(--cm-terre);color:var(--cm-chaux)!important;border:1px solid var(--cm-terre);padding:16px 20px 16px 24px}
.cm-button-primary:hover{background:#4A3C30;transform:translateY(-2px)}
.cm-button-text{border-bottom:1px solid var(--cm-laiton);padding:16px 0;min-height:53px}
.cm-button-text:hover{color:#906E38}
.cm-button span:last-child{font-size:18px;line-height:1}
.cm-hero-note{margin-top:clamp(36px,4vw,63px);font:500 10px/1.7 var(--cm-sans);letter-spacing:.10em;color:#6E6459;display:flex;align-items:center;gap:12px}
.cm-note-dot{width:5px;height:5px;border-radius:50%;background:var(--cm-laiton)}
.cm-hero-art{position:relative;overflow:hidden;background:var(--cm-travertin);isolation:isolate;min-height:600px}
.cm-hero-texture{width:100%;height:100%;object-fit:cover;object-position:center 41%;position:absolute;inset:0;z-index:-2}
.cm-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(247,242,233,.03) 10%,rgba(228,217,198,.18) 70%,rgba(46,38,32,.08));pointer-events:none;z-index:-1}
.cm-hero-art-inner{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:600px;padding:clamp(30px,3.9vw,62px)}
.cm-stone-mark{display:flex;align-items:center;gap:15px;font:500 10px/1.4 var(--cm-sans);letter-spacing:.15em;color:#62564C}
.cm-stone-mark-line{width:24px;height:1px;background:#967941}
.cm-monogram{position:absolute;width:clamp(123px,15vw,202px);height:auto;max-height:260px;left:50%;top:49%;transform:translate(-50%,-50%);opacity:.84}
.cm-art-location{align-self:flex-end;font:500 10px/1.4 var(--cm-sans);letter-spacing:.17em;color:#655849}
.cm-art-location span{color:var(--cm-laiton);padding-inline:5px}
.cm-pillars{background:#EAE1D4;border-block:1px solid rgba(46,38,32,.12)}
.cm-pillars-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:145px;align-items:center}
.cm-pillar{display:flex;gap:23px;align-items:flex-start;padding:31px clamp(17px,2.5vw,40px);border-left:1px solid rgba(46,38,32,.17);min-height:99px}
.cm-pillar:first-child{border-left:0;padding-left:0}
.cm-pillar-num{font:500 10px/1.9 var(--cm-sans);letter-spacing:.09em;color:#967941;white-space:nowrap;padding-top:3px}
.cm-pillar h2{font-size:clamp(21px,1.95vw,29px);letter-spacing:-.013em;margin:0 0 5px}
.cm-pillar p{font:400 13.5px/1.6 var(--cm-sans);color:#6A5F53;margin:0;max-width:29ch}
.cm-contact-section{padding-block:clamp(85px,8vw,129px);background:#F7F2E9;scroll-margin-top:15px}
.cm-contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(55px,7vw,128px);align-items:start}
.cm-contact-intro{padding-top:clamp(25px,3vw,51px);min-width:0}
.cm-contact-intro h2{font-size:clamp(36px,3.65vw,58px);max-width:14ch;margin:0 0 25px}
.cm-contact-intro>p:not(.cm-eyebrow){font:400 clamp(15.5px,1.1vw,17px)/1.85 var(--cm-sans);color:#655A4E;max-width:50ch}
.cm-eyebrow-dark{margin-bottom:34px}
.cm-contact-details{border-top:1px solid var(--cm-line);margin-top:clamp(40px,5vw,75px);max-width:445px}
.cm-contact-details>div{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:baseline;column-gap:15px;padding-block:17px;border-bottom:1px solid var(--cm-line)}
.cm-contact-details .cm-detail-label{font:500 10px/1.65 var(--cm-sans);letter-spacing:.115em;color:#8A7252}
.cm-contact-details a,.cm-contact-details div>span:last-child{font:400 14px/1.7 var(--cm-sans);overflow-wrap:anywhere}
.cm-contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.cm-form-card{min-width:0;background:#E9DED0;border-top:2px solid var(--cm-laiton);padding:clamp(27px,3.5vw,54px) clamp(24px,3.5vw,54px) clamp(27px,4vw,59px)}
.cm-form-kicker{font:500 10px/1.6 var(--cm-sans);letter-spacing:.19em;color:#705B3E}
.cm-form-heading h3{font-size:clamp(29px,2.5vw,39px);margin:13px 0 12px}
.cm-form-heading p{font:400 14px/1.73 var(--cm-sans);max-width:52ch;color:#5E5349;margin:0}
.cm-form{margin-top:28px}
.cm-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.cm-field{min-width:0;margin-bottom:20px}
.cm-field label{display:block;font:500 11px/1.5 var(--cm-sans);letter-spacing:.02em;margin:0 0 10px;color:#443A32}
.cm-field label>span,.cm-required{color:#805D2A}
.cm-field small{font:400 11px/1.4 var(--cm-sans);color:#766B60}
.cm-field :is(input,textarea,select){appearance:none;display:block;width:100%;min-width:0;border:1px solid #C9BCA8;border-radius:0;background:rgba(247,242,233,.72);color:#2E2620;padding:13px 14px;font:400 13.5px/1.65 var(--cm-sans);min-height:47px;transition:border-color .15s,background-color .15s}
.cm-field :is(input,textarea,select):focus{outline:2px solid #967941;outline-offset:1px;border-color:#967941;background:#F7F2E9}
.cm-field :is(input,textarea)::placeholder{color:#81766A;opacity:1}
.cm-field select{padding-right:33px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E6459' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-size:18px;background-repeat:no-repeat;background-position:right 10px center}
.cm-field textarea{resize:vertical;min-height:95px}
.cm-consent{display:flex;align-items:flex-start;gap:13px;font:400 11.5px/1.65 var(--cm-sans);color:#54493E;margin-top:1px;cursor:pointer}
.cm-consent input{flex:0 0 17px;width:17px;height:17px;accent-color:#2E2620;margin:3px 0 0}
.cm-consent a{text-decoration:underline;text-underline-offset:3px}
.cm-form-bottom{margin-top:27px;display:flex;align-items:center;flex-wrap:wrap;gap:18px 23px}
.cm-submit{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 19px 15px 23px;min-height:54px;background:#2E2620;color:#F7F2E9;border:1px solid #2E2620;border-radius:0;cursor:pointer;font:500 11px/1.5 var(--cm-sans);letter-spacing:.09em;text-transform:uppercase;transition:background-color .2s}
.cm-submit:hover{background:#514136}
.cm-submit span{font-size:20px;line-height:1}
.cm-form-quiet{font:400 11px/1.65 var(--cm-sans);color:#706359}
.cm-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cm-form-banner{display:flex;flex-direction:column;gap:4px;margin-bottom:28px;padding:16px 19px;font:400 13px/1.65 var(--cm-sans);border-left:3px solid}
.cm-form-banner strong{font-weight:500}
.cm-form-success{background:#E1E8DB;border-color:#596D50;color:#31402F}
.cm-form-error{background:#F3DDD5;border-color:#A65C46;color:#683B31}
.cm-footer{background:#2E2620;color:#F7F2E9;padding-top:43px;padding-bottom:30px}
.cm-footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:46px}
.cm-footer-brand{font:500 11px/1.65 var(--cm-sans);letter-spacing:.13em;color:#E7D9C5}
.cm-footer-brand span{color:#C4A671;padding-inline:5px}
.cm-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:13px 25px}
.cm-footer-links a{font:400 12px/1.5 var(--cm-sans);color:#E7D9C5}
.cm-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.cm-footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid rgba(247,242,233,.20);padding-top:24px;margin-top:27px}
.cm-footer-bottom span{font:400 10px/1.65 var(--cm-sans);color:#D6C9B9;letter-spacing:.065em}
.cm-footer-privacy details{border-top:1px solid rgba(247,242,233,.12);padding-top:18px;margin-top:21px;max-width:830px;color:#D5C8BB}
.cm-footer-privacy summary{cursor:pointer;display:inline-block;font:400 11px/1.7 var(--cm-sans);text-decoration:underline;text-underline-offset:4px}
.cm-footer-privacy details p{font:400 11px/1.85 var(--cm-sans);max-width:76ch;margin:14px 0 0;color:#E0D2C3}
.cm-footer-privacy a{text-decoration:underline}
@media(max-width:1100px){
 .cm-header-phone{gap:11px}
 .cm-small-screen-hide{display:none}
 .cm-hero{grid-template-columns:minmax(0,1fr) minmax(0,.91fr);min-height:610px}
 .cm-hero-content{padding-right:32px}
 .cm-hero h1{font-size:clamp(39px,5.4vw,60px)}
 .cm-hero-art,.cm-hero-art-inner{min-height:570px}
 .cm-contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}
 .cm-fields-two{column-gap:12px}
}
@media(max-width:800px){
 :root{--cm-gutter:clamp(20px,5vw,37px)}
 .cm-header{height:80px}
 .cm-identity{width:clamp(175px,30vw,235px)}
 .cm-hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;padding-top:0;padding-bottom:0}
 .cm-hero-content{padding:clamp(52px,8vw,76px) 0 clamp(51px,7vw,70px)}
 .cm-eyebrow{margin-bottom:25px;font-size:10px}
 .cm-hero h1{font-size:clamp(39px,7vw,58px);max-width:17ch;margin-bottom:23px}
 .cm-hero-lead{font-size:16px;line-height:1.78;max-width:57ch}
 .cm-actions{margin-top:28px}
 .cm-hero-note{margin-top:30px}
 .cm-hero-art{min-height:290px;height:clamp(260px,45vw,360px)}
 .cm-hero-art-inner{min-height:0;height:100%;padding:27px 29px}
 .cm-hero-texture{object-position:center 38%}
 .cm-monogram{width:clamp(98px,18vw,134px);max-height:170px}
 .cm-pillars-inner{grid-template-columns:1fr 1fr 1fr;min-height:0}
 .cm-pillar{padding:26px 16px;display:block;min-height:132px}
 .cm-pillar:first-child{padding-left:0}
 .cm-pillar-num{display:block;margin-bottom:11px}
 .cm-pillar h2{font-size:21px}
 .cm-pillar p{font-size:12.5px;line-height:1.6}
 .cm-contact-section{padding-block:75px 85px}
 .cm-contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:42px}
 .cm-contact-intro{padding-top:0}
 .cm-contact-intro h2{font-size:clamp(37px,5.5vw,48px)}
 .cm-contact-details{margin-top:30px;max-width:100%}
 .cm-form-card{padding:31px clamp(22px,4vw,38px) 38px}
 .cm-form-heading h3{font-size:34px}
 .cm-footer-main{display:block}
 .cm-footer-brand{margin-bottom:19px}
}
@media(max-width:520px){
 .cm-header{height:73px;gap:16px}
 .cm-identity{width:175px}
 .cm-header-phone-number{font-size:12px;letter-spacing:0}
 .cm-header-arrow{font-size:17px}
 .cm-hero-content{padding:45px 0 46px}
 .cm-miniline{width:27px}
 .cm-eyebrow{letter-spacing:.115em;font-size:9px;gap:7px;line-height:1.7;margin-bottom:23px}
 .cm-hero h1{font-size:clamp(36px,9vw,46px);line-height:1.19;max-width:14ch;margin-bottom:18px}
 .cm-hero-lead{font-size:15px;line-height:1.74}
 .cm-actions{margin-top:26px;gap:12px 19px}
 .cm-button{font-size:10px;min-height:50px}
 .cm-button-primary{padding:14px 16px}
 .cm-button-text{padding:14px 0}
 .cm-hero-note{margin-top:26px;font-size:9px}
 .cm-hero-art{height:245px;min-height:0}
 .cm-hero-art-inner{padding:20px}
 .cm-monogram{width:94px;max-height:110px}
 .cm-stone-mark,.cm-art-location{font-size:8px;letter-spacing:.12em}
 .cm-pillars-inner{grid-template-columns:1fr;min-height:0}
 .cm-pillar{display:grid;grid-template-columns:28px 1fr;gap:13px;align-items:start;min-height:0;padding:18px 0;border-left:0;border-top:1px solid rgba(46,38,32,.13)}
 .cm-pillar:first-child{border-top:0;padding-top:21px}
 .cm-pillar-num{margin:0;padding-top:4px}
 .cm-pillar h2{font-size:22px;margin-bottom:4px}
 .cm-pillar p{font-size:13px}
 .cm-contact-section{padding-block:62px 70px}
 .cm-contact-intro h2{font-size:clamp(33px,8.3vw,41px);line-height:1.25;margin-bottom:17px}
 .cm-contact-intro>p:not(.cm-eyebrow){font-size:15px;line-height:1.7}
 .cm-contact-details{margin-top:25px}
 .cm-contact-details>div{grid-template-columns:95px minmax(0,1fr);gap:13px;padding-block:15px}
 .cm-contact-details a,.cm-contact-details div>span:last-child{font-size:13px}
 .cm-form-card{padding:26px 20px 31px}
 .cm-form-heading h3{font-size:29px}
 .cm-form-heading p{font-size:13px}
 .cm-form{margin-top:24px}
 .cm-fields-two{grid-template-columns:1fr}
 .cm-field{margin-bottom:17px}
 .cm-field :is(input,textarea,select){font-size:14px}
 .cm-consent{font-size:11px}
 .cm-form-bottom{margin-top:24px}
 .cm-submit{width:100%;min-height:52px}
 .cm-footer{padding-top:36px;padding-bottom:26px}
 .cm-footer-main{gap:23px}
 .cm-footer-brand{font-size:10px}
 .cm-footer-links{gap:12px 18px}
 .cm-footer-links a{font-size:11px}
 .cm-footer-bottom{margin-top:27px;padding-top:21px;display:block}
 .cm-footer-bottom span{display:block;font-size:9px}
 .cm-footer-bottom span+span{margin-top:7px}
}
@media(max-width:355px){
 .cm-header-phone-number{font-size:11px}
 .cm-identity{width:160px}
 .cm-button{font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .cm-page *, .cm-page *::before,.cm-page *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* CASALI v1.1 — iPhone-safe vectors, Instagram CTA, CASALI Leads, refined responsive */
.cm-arrow-icon{width:16px;height:16px;min-width:16px;flex:0 0 16px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.cm-header-email{display:inline-flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--cm-laiton);font:500 11px/1.3 var(--cm-sans);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.cm-header-email .cm-arrow-icon{color:#967941}
.cm-header-email:hover{color:#745C38}
.cm-hero h1{font-size:clamp(38px,4.05vw,62px);line-height:1.2;max-width:16ch;letter-spacing:-.022em}
.cm-hero-lead{font-size:clamp(15px,1.18vw,17px);line-height:1.77;max-width:48ch}
.cm-actions{gap:12px 23px}
.cm-button{gap:14px}
.cm-button-primary{padding:16px 18px 16px 22px}
.cm-button .cm-arrow-icon{color:inherit;transition:transform .2s ease}
.cm-button:hover .cm-arrow-icon,.cm-header-email:hover .cm-arrow-icon{transform:translate(2px,-2px)}
.cm-hero-art .cm-hero-texture{z-index:0}
.cm-hero-art::after{z-index:1}
.cm-hero-art .cm-hero-art-inner{z-index:2}
.cm-pillars{background:#EBE3D7}
.cm-contact-section{padding-block:clamp(68px,7.5vw,113px)}
.cm-contact-intro h2{font-size:clamp(32px,3vw,47px);line-height:1.24;max-width:18ch}
.cm-contact-details{margin-top:clamp(29px,3vw,45px)}
.cm-contact-details>div{grid-template-columns:135px minmax(0,1fr);gap:18px}
.cm-contact-details .cm-detail-label{color:#6E6459}
.cm-contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,5.2vw,86px)}
.cm-social-panel{background:rgba(228,217,198,.48);border-left:2px solid var(--cm-laiton);padding:23px 24px 25px;margin-top:32px;max-width:490px}
.cm-social-panel p{margin:0;font:400 14px/1.7 var(--cm-sans);color:#584C3F;max-width:40ch}
.cm-social-panel p.cm-social-kicker{font:500 10px/1.6 var(--cm-sans);letter-spacing:.14em;color:#6E6459;margin-bottom:10px}
.cm-social-panel a{display:inline-flex;align-items:center;gap:11px;margin-top:19px;border-bottom:1px solid var(--cm-laiton);padding-bottom:5px;font:500 11px/1.65 var(--cm-sans);letter-spacing:.055em;color:var(--cm-terre)}
.cm-social-panel .cm-arrow-icon{width:14px;height:14px;min-width:14px;flex-basis:14px}
.cm-form-card{background:#EBE1D4;padding:clamp(23px,3vw,43px);min-width:0}
.cm-form-heading h3{font-size:clamp(26px,2.2vw,34px);line-height:1.28;margin:11px 0}
.cm-form-heading p{font-size:13px}
.cm-leads-embed{margin-top:23px;max-width:100%;min-width:0}
.cm-leads-card .casali-leads-app,.cm-leads-card .casali-leads-shell{box-sizing:border-box;max-width:100%;min-width:0;color:var(--cm-terre);font-family:var(--cm-sans)!important}
.cm-leads-card .casali-leads-shell{padding:clamp(15px,2.7vw,30px);background:var(--cm-chaux);border:1px solid rgba(46,38,32,.11)}
.cm-leads-card .casali-leads-app :is(h2,h3,h4,legend){font-family:var(--cm-serif)!important;color:var(--cm-terre)!important;font-weight:400!important;font-size:clamp(21px,2vw,29px)!important;line-height:1.3!important}
.cm-leads-card .casali-leads-app :is(p,span,label,input,select,textarea,button){font-family:var(--cm-sans)}
.cm-leads-card .casali-leads-app :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px}
.cm-leads-card .casali-leads-app button{min-height:44px}
.cm-leads-card .casali-leads-progress{max-width:100%}
.cm-leads-card .casali-leads-app :is(.casali-leads-intro,.casali-leads-screen){min-width:0;max-width:100%}
.cm-mail-fallback{margin-top:26px}.cm-mail-fallback .cm-button{max-width:100%;min-height:52px;overflow-wrap:anywhere}
.cm-data-hint{margin:20px 0 0!important;font:400 11px/1.75 var(--cm-sans);color:#6E6459}
.cm-data-hint a{text-decoration:underline;text-underline-offset:3px}
.cm-footer-links a{display:inline-flex;align-items:center;gap:6px}
.cm-footer-links .cm-arrow-icon{width:12px;height:12px;min-width:12px;flex-basis:12px}
@media(max-width:1100px){.cm-header-email{letter-spacing:.08em}.cm-contact-layout{gap:32px}.cm-social-panel{margin-top:25px}.cm-hero h1{font-size:clamp(37px,4.5vw,54px)}}
@media(max-width:800px){
 .cm-header{height:75px}
 .cm-hero h1{font-size:clamp(35px,6vw,47px);max-width:19ch}
 .cm-hero-content{padding:49px 0 54px}
 .cm-hero-art,.cm-hero-art-inner{min-height:0}
 .cm-contact-layout{display:block}
 .cm-contact-intro{padding:0;margin-bottom:32px}
 .cm-form-card{max-width:750px;margin:0 auto}
 .cm-social-panel{max-width:none}
 .cm-contact-details{max-width:none}
}
@media(max-width:520px){
 :root{--cm-gutter:clamp(19px,5vw,24px)}
 .cm-header{height:69px;gap:14px}
 .cm-identity{width:clamp(150px,42vw,183px)}
 .cm-header-email{gap:7px;padding-block:10px;font-size:10px;letter-spacing:.035em}
 .cm-header-email .cm-arrow-icon{width:14px;height:14px;min-width:14px;flex-basis:14px}
 .cm-hero-content{padding-top:39px;padding-bottom:44px}
 .cm-eyebrow{margin-bottom:17px;font-size:9px;letter-spacing:.075em}
 .cm-miniline{width:21px}
 .cm-hero h1{font-size:clamp(33px,8.25vw,39px);max-width:17ch;line-height:1.24;margin-bottom:17px;letter-spacing:-.014em}
 .cm-hero-lead{font-size:15px;line-height:1.73}
 .cm-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin-top:23px;width:100%}
 .cm-actions .cm-button{min-height:50px;width:100%;justify-content:space-between;font-size:10.5px;letter-spacing:.045em}
 .cm-actions .cm-button-primary{padding:14px 17px}
 .cm-actions .cm-button-text{padding:12px 0;width:max-content;max-width:100%}
 .cm-button .cm-arrow-icon{width:15px;height:15px;min-width:15px;flex-basis:15px}
 .cm-hero-note{margin-top:21px;font-size:9px;letter-spacing:.045em}
 .cm-hero-art{height:226px}
 .cm-monogram{width:91px;max-height:117px}
 .cm-contact-section{padding-block:51px 58px}
 .cm-contact-intro h2{font-size:clamp(29px,7.3vw,36px);max-width:20ch;margin-bottom:16px}
 .cm-contact-intro>p:not(.cm-eyebrow){font-size:14.5px;line-height:1.74}
 .cm-contact-details{margin-top:23px}
 .cm-contact-details>div{grid-template-columns:107px minmax(0,1fr);gap:11px;padding-block:13px}
 .cm-contact-details .cm-detail-label{font-size:9px;letter-spacing:.07em}
 .cm-contact-details a,.cm-contact-details div>span:last-child{font-size:13px}
 .cm-social-panel{padding:19px 20px 22px;margin-top:25px}
 .cm-form-card{padding:22px 17px 26px}
 .cm-form-heading h3{font-size:26px;line-height:1.26}
 .cm-leads-embed{margin-top:17px}
 .cm-leads-card .casali-leads-shell{padding:14px 12px}
 .cm-leads-card .casali-leads-app :is(h2,h3,h4,legend){font-size:22px!important}
 .cm-data-hint{font-size:10.5px}
 .cm-footer{padding-block:35px 26px}
 .cm-footer-links{gap:11px 20px}
}
@media(max-width:355px){.cm-header-email{font-size:9.5px}.cm-header .cm-identity{width:145px}.cm-hero h1{font-size:31px}.cm-actions .cm-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cm-button .cm-arrow-icon{transform:none!important}}
