/* CAMERO 2027 / V1.4.2 · Typography + Google Maps + cinematic storytelling
   Override layer deliberately isolated after v1.4.1 and existing product system. */
:root{
 --cm-ink:#203a40;
 --cm-teal:#438a87;
 --cm-gold:#b48a4b;
 --cm-copy-boost:4px;
 --cm-script:"Allura","Brush Script MT",cursive;
}
html {overflow-x:clip;}
body{font-optical-sizing:auto;}
/* Clarity without accidental orphan words and without rewriting content. */
main :is(h1,h2,h3), .footer-title {text-wrap:balance;}
main p{ text-wrap:pretty; }
main :is(h1,h2,h3):not(.hero-inner h1){font-weight:600;}
.v2-page .v2-title-sans,.v2-page .v2-serif{font-weight:600!important;letter-spacing:-.035em;}
.v2-page .v2-title-sans{line-height:1.11;}
/* Explanatory text receives an actual +4 px uplift from earlier 12–16 px values. */
.v2-page .v2-contact-copy>p{font-size:17px!important;line-height:1.77;max-width:490px;}
.v2-page .v2-contact-copy h2{font-size:clamp(21px,2vw,30px)!important;line-height:1.36;font-weight:500;max-width:520px;}
.v2-page .v2-mv-intro-lead p:not(.v2-lead-lines){font-size:17px!important;line-height:1.8;}
.v2-page .v2-mv-intro-lead .v2-lead-lines{font-size:clamp(21px,2vw,28px)!important;font-weight:600;line-height:1.42;max-width:730px;}
.v2-page .v2-mv-center p:not(.cm-editorial-signature){font-size:clamp(16px,1.23vw,18px)!important;line-height:1.78;}
.v2-page .v2-mv-text p,.v2-page .v2-mv-story-copy p{font-size:clamp(17px,1.24vw,20px)!important;line-height:1.8;}
.v2-page .v2-product-info>p,.v2-page .v2-category-hero-copy>p,.v2-page .v2-catalog-hero-copy>p,
.v2-page .v2-collection-heading>p,.v2-page .v2-story-copy>p,
.v2-page .v2-inspiration-heading>p,.v2-page .v2-catalog-list .v2-section-head>p{font-size:clamp(16px,1.27vw,19px)!important;line-height:1.72;}
:is(.intro-copy,.about-copy,.manufacture-copy,.editorial-body,.inspiration-caption,.projects-heading,.corp-intro-copy,.corp-story-content,.corp-philosophy-left,.corp-philosophy-right,.corp-collection-left,.corp-collection-right)>p{
 font-size:clamp(17px,1.25vw,20px)!important;line-height:1.72;}
.v2-page .cm-agent-copy p{font-size:17px!important;line-height:1.7;}
/* Editorial signature: a real Google font rather than a raster slogan. */
.hero-script,.mega-signature,.cm-editorial-signature,.cm-signature-quote{
 font-family:var(--cm-script)!important;font-style:normal!important;font-weight:400!important;letter-spacing:0!important;
}
.cm-editorial-signature{
 display:block;margin:20px auto 9px!important;max-width:365px!important;
 color:var(--cm-gold)!important;font-size:clamp(31px,3.15vw,49px)!important;
 line-height:.92!important;transform:rotate(-6deg);text-align:center;text-wrap:balance;
}
.cm-signature-quote{font-size:clamp(36px,4vw,62px)!important;line-height:.94!important;color:#92733b;max-width:680px;}
.hero-script{font-size:clamp(46px,5.2vw,85px)!important;line-height:1;}
/* Live Google map: image-style tone while inactive, accurate interactive tiles when activated. */
.v2-page .v2-contact-hero{
 min-height:750px;
 background:linear-gradient(105deg,#f4fbfc 0%,#e9f8f9 49%,#d9f1f3 100%);
}
.v2-page .v2-contact-layout{min-height:750px;grid-template-columns:44% 56%;}
.v2-page .v2-contact-copy{padding-block:74px 64px;}
.v2-page .v2-contact-copy h1{font-size:clamp(72px,6.5vw,113px);font-weight:500;line-height:1.07;letter-spacing:-.065em;white-space:nowrap;}
.v2-page .cm-contact-side{min-height:710px;}
.cm-contact-map-frame{
 inset:0 -5vw 0 0;border-radius:0;box-shadow:none;
 background:#d4edf0 url('../images/v141-map-fallback.webp') center center/cover no-repeat;z-index:0;
}
.cm-contact-map-frame iframe{
 width:100%;height:100%;filter:grayscale(.45) saturate(.7) contrast(.87) brightness(1.08);mix-blend-mode:normal;opacity:.88;
 transform:scale(1.045);transform-origin:center;transition:filter .6s ease,opacity .6s ease,transform .6s ease;
}
.cm-contact-map-frame.is-interactive iframe{filter:none;opacity:1;transform:scale(1);}
.cm-contact-map-frame::after{background:linear-gradient(90deg,#edf9fac9 0%,#e4f4f588 18%,transparent 42%),linear-gradient(0deg,#e3f5f547,transparent 40%);}
.cm-contact-map-hint{max-width:360px;font-size:11px;letter-spacing:.005em;}
.v2-page .cm-contact-location{
 top:90px;left:15%;width:min(365px,calc(100% - 32px));padding:25px 27px 21px;
 border-radius:20px;background:#ffffffec;box-shadow:0 25px 65px rgba(29,87,98,.14);
}
.v2-page .cm-contact-location strong{font-size:23px;font-weight:700;}
.v2-page .cm-contact-location>span:not(.cm-location-label){font-size:15px;line-height:1.55;}
.cm-contact-location .cm-location-label{font-size:10px!important;}
.cm-contact-map-actions a,.cm-contact-map-actions button{font-size:12px;padding:10px 15px;min-height:40px;}
.cm-contact-location-small{bottom:82px;right:8%;font-size:11px;}
.cm-live-map-badge{position:absolute;z-index:3;top:32px;right:10%;padding:9px 15px;border-radius:100px;border:1px solid #ffffffaa;background:#f6fcfcb8;color:#4b7579;font-size:10px;font-weight:700;letter-spacing:.16em;backdrop-filter:blur(9px);}
/* Footer map is also a real map, with unambiguous Google branding. */
.cm-footer-map-frame{background:#daf0f1;}
.cm-footer-map-frame iframe{opacity:.9;filter:grayscale(.3) saturate(.7) brightness(1.07);}
.cm-map-credit{font-size:10px;letter-spacing:.02em;background:#f0fbfbed;}
/* Contact cards spacious like reference. */
.v2-page .v2-contact-methods{max-width:520px;gap:10px;}
.v2-page .v2-contact-methods a{padding:16px 19px;min-height:75px;border:1px solid #ecf5f7;background:#fffffff0;box-shadow:0 12px 28px rgba(43,96,107,.035);}
.v2-page .v2-contact-methods strong{font-size:15px;font-weight:700;}
.v2-page .v2-contact-methods small{font-size:13px;line-height:1.6;}
/* Clean, cut-out customer service section: real transparent portrait, no portrait-card box. */
.cm-agent-v142{
 position:relative;isolation:isolate;overflow:hidden;
 background:linear-gradient(112deg,#061f38 0%,#0b3557 46%,#072f51 100%);
 border-top:2px solid #b9dfe2;
}
.cm-agent-v142::before{
 content:"";position:absolute;inset:-45% 0 -30%;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 41% 61%,#1f6c8e73 0%,transparent 34%),
 repeating-radial-gradient(circle at 33% 110%,transparent 0 74px,#ffffff07 75px 76px,transparent 77px 148px);
}
.cm-agent-v142 .cm-agent-inner{
 width:min(1380px,92%);min-height:390px;
 display:grid;grid-template-columns:minmax(220px,.95fr) minmax(280px,360px) minmax(360px,1.48fr);
 column-gap:clamp(24px,3vw,46px);align-items:center;padding:0;
}
.cm-agent-v142 .cm-agent-brand-block{padding:38px 0 34px;align-self:center;}
.cm-agent-v142 .cm-agent-logo{margin:30px 0 13px;}
.cm-agent-v142 .cm-agent-logo b{font-size:clamp(43px,4.45vw,74px);color:#f2f8f7;}
.cm-agent-v142 .cm-agent-logo span{font-size:12px;}
.cm-agent-v142 .cm-agent-brand-block>p{color:#b4cbd2;font-size:15px;max-width:230px;line-height:1.55;}
.cm-agent-v142 .cm-agent-photo{
 position:relative;z-index:2;align-self:end;justify-self:center;
 display:flex;align-items:flex-end;justify-content:center;width:100%;height:410px;
 min-height:0;margin:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.cm-agent-v142 .cm-agent-photo img{
 display:block;position:absolute;bottom:-6px;top:auto;left:50%;right:auto;
 width:auto;height:415px;max-width:none;max-height:none;
 transform:translateX(-50%);object-fit:contain;object-position:center bottom;
 filter:drop-shadow(0 15px 25px rgba(0,15,25,.22));
}
.cm-agent-v142 .cm-agent-copy{border-left:1px solid #d5e4e542;padding:35px 0 32px clamp(22px,2.6vw,44px);}
.cm-agent-v142 .cm-agent-copy h2{font-family:"Cormorant Garamond",serif;font-weight:600!important;font-size:clamp(35px,3.1vw,51px);line-height:1.08;letter-spacing:-.027em;max-width:610px;}
.cm-agent-v142 .cm-agent-copy h2 em{display:inline;color:#eac98d;font-weight:600;font-style:normal;}
.cm-agent-v142 .cm-agent-copy p{max-width:540px;color:#c9dbe0;}
.cm-agent-v142 .cm-agent-actions{gap:14px 23px;}
.cm-agent-v142 .cm-agent-cta{font-size:14px;font-weight:700;min-height:47px;padding:0 24px;}
.cm-agent-v142 .cm-agent-actions strong{font-size:15px;}
.cm-agent-v142 .cm-agent-actions small{font-size:12px;}
.cm-agent-v142 .cm-agent-deco{opacity:.22;}
/* MV images: four composition cards, visibly staggered with alternating left/right reveal. */
.v2-mv-intro:has([data-cm-cinematic]){overflow:hidden;min-height:1080px;padding-top:90px;padding-bottom:145px;}
.v2-mv-intro-lead{max-width:760px;margin-bottom:76px;}
.v2-mv-center{width:min(510px,44%);}
.v2-mv-center h1{font-size:clamp(44px,4.35vw,69px);font-weight:600;}
.v2-mv-floating{border-radius:17px;}
.v2-mv-intro .v2-mv-floating img{transition:filter .3s ease;}
.v2-mv-intro .v2-mv-floating:hover img{filter:brightness(1.09);}
.v2-mv-intro .v2-mv-floating.one{left:1%;top:280px;}
.v2-mv-intro .v2-mv-floating.three{right:1%;top:280px;}
.v2-mv-intro .v2-mv-floating.two{left:4%;bottom:85px;}
.v2-mv-intro .v2-mv-floating.four{right:4%;bottom:85px;}
.v2-mv-story-copy blockquote{margin-top:25px;text-wrap:balance;}
/* Avoid forcing full blocks into fixed one-line widths on small viewports. */
@media(max-width:1200px){
 .cm-agent-v142 .cm-agent-inner{grid-template-columns:minmax(180px,.75fr) minmax(220px,290px) minmax(320px,1.3fr);gap:12px;min-height:350px;}
 .cm-agent-v142 .cm-agent-photo{height:360px;}
 .cm-agent-v142 .cm-agent-photo img{height:370px;}
 .cm-agent-v142 .cm-agent-copy{padding-left:24px;}
 .v2-mv-center{width:min(510px,47%);}
 .v2-mv-intro .v2-mv-floating{width:clamp(160px,21vw,265px);height:clamp(124px,16vw,200px);}
}
@media(max-width:1020px){
 .v2-page .v2-contact-layout{grid-template-columns:47% 53%;}
 .v2-page .cm-contact-location{left:12px;top:65px;}
 .v2-page .v2-contact-copy h1{font-size:clamp(57px,6.8vw,90px);}
 .cm-agent-v142 .cm-agent-inner{grid-template-columns:minmax(160px,.75fr) minmax(190px,230px) minmax(250px,1.2fr);min-height:332px;}
 .cm-agent-v142 .cm-agent-photo{height:332px;}
 .cm-agent-v142 .cm-agent-photo img{height:336px;}
 .cm-agent-v142 .cm-agent-logo b{font-size:47px;}
 .cm-agent-v142 .cm-agent-copy h2{font-size:clamp(32px,3.4vw,42px);}
}
@media(max-width:760px){
 .about-layout{grid-template-columns:minmax(0,1fr)!important;}
 .about-copy,.about-mosaic{min-width:0;max-width:100%;}

 .v2-page .v2-contact-layout{display:flex;flex-direction:column;min-height:0;padding-bottom:0;}
 .v2-page .v2-contact-copy{padding:44px 0 25px;}
 .v2-page .v2-contact-copy h1{font-size:clamp(51px,10vw,80px);white-space:normal;}
 .v2-page .v2-contact-copy h2{font-size:clamp(20px,4.3vw,26px)!important;}
 .v2-page .cm-contact-side{width:100%;min-height:470px;}
 .cm-contact-map-frame{inset:0 -15px 0;border-radius:16px;}
 .v2-page .cm-contact-location{top:31px;left:15px;width:min(340px,calc(100% - 30px));}
 .cm-live-map-badge{top:auto;bottom:11px;left:18px;right:auto;font-size:9px;}
 .cm-contact-location-small{right:14px;bottom:58px;}
 .cm-agent-v142 .cm-agent-inner{width:calc(100% - 34px);grid-template-columns:minmax(0,1fr) 150px;gap:10px 12px;padding-top:14px;min-height:0;}
 .cm-agent-v142 .cm-agent-brand-block{grid-column:1;grid-row:1;align-self:center;padding:25px 0 10px;}
 .cm-agent-v142 .cm-agent-logo{margin:17px 0 12px;}
 .cm-agent-v142 .cm-agent-logo b{font-size:clamp(33px,8vw,55px);}
 .cm-agent-v142 .cm-agent-brand-block>p{font-size:14px;}
 .cm-agent-v142 .cm-agent-photo{grid-column:2;grid-row:1;height:230px;width:150px;}
 .cm-agent-v142 .cm-agent-photo img{height:233px;}
 .cm-agent-v142 .cm-agent-copy{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid #ffffff26;max-width:none;padding:25px 0 31px;}
 .cm-agent-v142 .cm-agent-copy h2{font-size:clamp(34px,7vw,47px);}
 .v2-mv-intro:has([data-cm-cinematic]){min-height:0;padding:74px 0 275px;}
 .v2-mv-center{width:min(570px,90%);}
 .v2-mv-intro-lead{max-width:90%;margin-bottom:42px;}
 .v2-mv-intro .v2-mv-floating{width:clamp(130px,30vw,210px);height:clamp(104px,21vw,152px);}
 .v2-mv-intro .v2-mv-floating.one{top:auto;bottom:166px;left:2%;}
 .v2-mv-intro .v2-mv-floating.three{top:auto;bottom:166px;right:2%;}
 .v2-mv-intro .v2-mv-floating.two{bottom:20px;left:13%;}
 .v2-mv-intro .v2-mv-floating.four{bottom:20px;right:13%;}
 .v2-page .v2-mv-center p:not(.cm-editorial-signature){font-size:16px!important;}
 .v2-mv-intro-lead .v2-lead-lines{font-size:21px!important;}
}
@media(max-width:480px){
 .v2-page .v2-contact-copy h1{font-size:57px;}
 .v2-page .v2-contact-copy>p{font-size:16px!important;}
 .v2-page .v2-contact-methods a{padding:12px 14px;}
 .v2-page .cm-contact-side{min-height:445px;}
 .cm-contact-map-hint{left:10px;bottom:102px;font-size:10px;max-width:235px;}
 .v2-page .cm-contact-location{padding:18px;}
 .v2-page .cm-contact-location strong{font-size:20px;}
 .v2-page .cm-contact-location>span:not(.cm-location-label){font-size:13px;}
 .cm-contact-map-actions a,.cm-contact-map-actions button{font-size:11px;padding:9px 11px;}
 .cm-agent-v142 .cm-agent-inner{grid-template-columns:minmax(0,1fr) 132px;}
 .cm-agent-v142 .cm-agent-photo{height:215px;width:132px;}
 .cm-agent-v142 .cm-agent-photo img{height:216px;}
 .cm-agent-v142 .cm-agent-brand-block>p{font-size:12px;}
 .cm-agent-v142 .cm-agent-logo b{font-size:38px;}
 .cm-agent-v142 .cm-agent-copy p{font-size:16px!important;}
 .v2-mv-intro:has([data-cm-cinematic]){padding:69px 0 268px;}
 .v2-mv-center{width:92%;padding:22px 9px;background:#ffffffd9;border-radius:19px;}
 .v2-mv-intro .v2-mv-floating{width:39vw;height:27vw;}
 .v2-mv-intro .v2-mv-floating.one{bottom:158px;left:2%;}
 .v2-mv-intro .v2-mv-floating.three{bottom:158px;right:2%;}
 .v2-mv-intro .v2-mv-floating.two{bottom:19px;left:11%;}
 .v2-mv-intro .v2-mv-floating.four{bottom:19px;right:11%;}
 .v2-page .v2-mv-intro-lead .v2-lead-lines{font-size:18px!important;}
 .v2-page .v2-mv-text p,.v2-page .v2-mv-story-copy p{font-size:17px!important;}
 .cm-signature-quote{font-size:39px!important;}
}
@media(prefers-reduced-motion:reduce){
 .cm-contact-map-frame iframe{transform:none;transition:none;}
 .cm-agent-v142 .cm-agent-photo img{filter:none;}
}
