/* CONSTANZA / V7 — Editorial art direction, not cards */
:root{--v7-rule:rgba(86,56,68,.16);--v7-paper:#fffaf7;--v7-rose:#f6e1e1;--v7-ink:#382b35;--v7-accent:#b64b6c}
html{scroll-behavior:auto;scroll-padding-top:0}
body{background:var(--v7-paper)}
.site-header{background:rgba(255,250,247,.96);box-shadow:none!important}
.header-content,.container,.footer-main,.footer-bottom{max-width:1440px;padding-left:clamp(24px,5vw,82px);padding-right:clamp(24px,5vw,82px)}
.header-content{min-height:83px}.brand-lockup strong{font-size:31px}.brand-emblem{font-size:45px}.header-book{border-radius:5px!important;padding:12px 19px}.desktop-nav a{font-size:11px}
/* Hero: top edge flush with header, visual interaction is the protagonist */
.hero{padding-top:83px;min-height:0;height:min(920px,100svh);grid-template-columns:minmax(0,51.5%) minmax(0,48.5%);background:var(--v7-paper)}
.hero-text{padding:38px clamp(24px,3.2vw,52px) 31px max(clamp(24px,5vw,82px),calc((100vw - 1440px)/2 + 82px));justify-content:center}
.hero h1{font-size:clamp(40px,4.05vw,62px);line-height:1.065;letter-spacing:-.055em;margin-bottom:17px;max-width:700px}
.hero h1 em{color:#b64b6c}.eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:22px;gap:9px}
.hero .hero-intro{font-size:14px;line-height:1.45;max-width:480px}.hero-buttons{margin-top:14px;gap:10px}
.hero-buttons .btn{min-height:47px;padding:12px 17px;font-size:11px}
.hero .hero-note{margin:8px 0 0}.hero-meta{margin-top:16px}
.hero-photo-wrap{min-height:0;align-self:stretch;height:100%;background:#f7e5dd}
.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:52% 46%;filter:brightness(1.03) contrast(.99) saturate(.95)}
.hero-photo-wrap::before{content:none}.hero-photo-wrap::after{background:linear-gradient(0deg,rgba(49,30,38,.06),transparent 24%)}
@media(prefers-reduced-motion:no-preference){.hero.in-view .hero-photo-wrap img{animation:v5-photo 20s ease-in-out infinite}}
.section-head{margin-bottom:clamp(42px,5vw,75px)}.section-head h2{max-width:100%;letter-spacing:-.05em}
/* 01 Situations : maintain original gentle hover */
.situations-grid{border-top:1px solid var(--v7-rule);border-bottom:1px solid var(--v7-rule)}
.situation{border-right:1px solid var(--v7-rule);transition:background .35s, transform .35s}
.situation::before{height:1px;background:#cb7090}.situation:hover{background:rgba(252,219,217,.27)}
.situation:hover .situation-glyph{transform:translateY(-5px) rotate(-4deg) scale(1.045)!important}
/* 02 Benefits: original writing with magazine columns; zero card surfaces */
.benefits{background:#f8e4e3}
.benefits .section-head{margin-bottom:clamp(34px,3.8vw,58px)}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--v7-rule);border-bottom:1px solid var(--v7-rule)}
.benefit-pane,.benefit-pane+.benefit-pane{background:transparent!important;border:0!important;border-radius:0!important;padding:clamp(33px,4vw,64px) clamp(28px,4vw,68px) 52px 0!important;box-shadow:none!important}
.benefit-pane+.benefit-pane{border-left:1px solid var(--v7-rule)!important;padding-left:clamp(28px,5vw,78px)!important;padding-right:0!important}
.benefit-body{display:block}.benefit-pane h3{margin:20px 0 22px;font-size:clamp(40px,4.3vw,67px)}
.benefit-cap{border:0!important;padding-bottom:3px;align-items:center}.benefit-cap .bullet-number{font:italic clamp(35px,4.4vw,66px)/1 var(--serif);color:#b66b83}
.benefit-pane ul{margin:0}.benefit-pane li{font-size:clamp(15px,1.1vw,17px);line-height:1.7;padding:19px 8px 19px 22px!important;border-top:1px solid rgba(91,50,69,.12)!important;transition:color .25s, padding-left .3s}
.benefit-pane li:hover{color:#94415e;padding-left:28px!important}
.benefit-pane li::before{top:31px;background:#d96c91}
/* 03 Process: retain one narrative spine only, eliminate three item top-rules */
.process-grid .process-step,.process-grid .process-step:first-child{border-top:0!important;padding-top:0!important}
.process-map{margin-top:47px}.process-line{top:30px;left:0;right:0}
.process-line::after{animation:none!important;transform:scaleX(1)!important;opacity:.5}
.process-node{margin-bottom:36px}.process-detail h3{min-height:0;font-size:clamp(25px,2.25vw,34px)}
/* 04 Tarif + map : editorial asymmetric plate and open text columns */
.practical{background:#fffaf7}.practical-layout{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:clamp(30px,5vw,80px);align-items:stretch;border-top:1px solid var(--v7-rule);border-bottom:1px solid var(--v7-rule)}
.tarif-panel{padding:clamp(35px,4.5vw,64px) clamp(22px,3.8vw,60px);min-height:430px;box-shadow:none!important;background:#fce6b4;border:0!important}
.tarif-panel .data-tag{margin-bottom:28px}.price{font-size:clamp(112px,12vw,165px);white-space:nowrap;letter-spacing:-.08em;line-height:.99}
.tarif-intro{font:clamp(18px,1.8vw,25px)/1.38 var(--serif);margin-top:30px}
.practical-stack{display:block;padding:clamp(24px,3.5vw,50px) 0!important}
.practical-item,.practical-item:hover{background:transparent;border:0;transform:none;padding:0 0 30px;box-shadow:none!important}
.practical-item+.practical-item{border-top:1px solid var(--v7-rule);padding:31px 0 0}
.practical-item h3{font-size:clamp(30px,2.8vw,40px)}.practical-item p{max-width:54ch}
.practical-map{border:0;background:transparent;box-shadow:none;padding:clamp(36px,5vw,72px) 0 0}
.map-editorial-header{display:flex;align-items:baseline;gap:20px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--v7-rule);padding-top:22px}
.map-editorial-header h3{font:clamp(30px,3vw,45px)/1.1 var(--serif);margin:0}
.map-editorial-header p{font-size:13px;line-height:1.6;margin:0;color:#795e6b}
.practical-map>.data-tag{display:block;margin:0 0 16px}
.map-frame{margin-top:24px;aspect-ratio:2.35/1;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:#e8e8df}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.map-precision{font-size:11px;color:#826b73;margin:15px 0 0}.map-direct{font-size:12px;text-decoration:none;border-bottom:1px solid currentColor;display:inline-block;padding-bottom:3px}
/* 05 Certifications — open indexed register rather than five boxes */
.about-copy{padding-left:clamp(28px,5vw,85px)}.about-copy>p:not(.about-lead){max-width:57ch}
.about-credentials{margin-top:90px;padding-top:30px}
.about-credentials-head{grid-template-columns:minmax(160px,290px) minmax(0,1fr);margin-bottom:25px}
.about-credentials-head p{font:clamp(19px,2vw,29px)/1.35 var(--serif)}
.credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(30px,5vw,75px)}
.credential-row,.credential-row.credential-card-wide{background:transparent!important;border:0!important;border-top:1px solid var(--v7-rule)!important;min-height:115px;padding:23px 0 25px;display:grid;grid-template-columns:48px 1fr;gap:0 16px;align-content:start;transition:padding-left .3s ease}
.credential-row:hover{padding-left:7px}.credential-row .credential-index{grid-row:1/3;font:italic 20px var(--serif);color:#aa4f6a}
.credential-row h3{font:clamp(23px,2vw,32px)/1.2 var(--serif);margin:0 0 9px}
.credential-row p{font-size:13px;color:#77646d;line-height:1.5;margin:0}
.credential-row:last-child{grid-column:1/-1}
/* 06 reviews: live embedded testimonial block; no invented scores or popup */
.review-band{background:#fffaf7;padding:60px 0 72px}
.reviews-shell{grid-template-columns:minmax(180px,270px) minmax(0,1fr);align-items:start;gap:clamp(35px,5vw,80px)}
.reviews-strip{position:static!important;border:0;background:none;padding:0}
.reviews-strip .overline{margin-bottom:24px}.reviews-wordmark{font:clamp(27px,2.6vw,39px)/1.12 var(--serif);letter-spacing:-.035em}
.reviews-strip p{font:clamp(17px,1.55vw,21px)/1.5 var(--serif);color:#5e4650;margin:20px 0}
.reviews-widget-wrap{background:transparent;border:0;padding:0;min-width:0}
.elfsight-app-e8cc7a67-f744-429f-bb55-ba2920147fca{min-height:260px}
/* 07 CTA — compact premium editorial composition, no floating social links */
.contact{background:#563845}.contact::before,.contact::after{display:none}
.contact-inner{max-width:1440px;display:block;padding:clamp(70px,8vw,105px) clamp(24px,5vw,82px);text-align:left}
.contact-v7-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,6vw,100px);align-items:center}
.contact-v7-head .section-num,.contact-v7-head .overline{display:block;font-size:10px;color:#e5a5b8}
.contact-v7-head .section-num{margin:0 0 36px;padding:0}
.contact-v7-head .overline{margin-bottom:18px}
.contact-v7-head h2{font:clamp(60px,6.5vw,93px)/.98 var(--serif);letter-spacing:-.05em;max-width:750px;margin:0 0 22px}
.contact-v7-head h2 em{color:#f8b7c8;font-style:italic}
.contact-v7-head>p{font:clamp(18px,1.8vw,25px)/1.38 var(--serif);color:#f9e9ed;max-width:34ch;margin:0}
.contact-v7-action{border-left:1px solid rgba(255,240,238,.27);padding-left:clamp(35px,5vw,76px);display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.contact-v7-action .contact-number{font:clamp(35px,4.2vw,63px)/1.1 var(--serif);color:#fff7f3;letter-spacing:-.04em;white-space:nowrap;margin:0}
.contact-v7-action .contact-actions{display:flex;justify-content:flex-start;gap:12px;margin:0}
.contact-v7-action .contact-actions .btn{font-size:12px;min-height:47px;border-radius:5px!important;padding:12px 18px}
.contact-v7-action .contact-location{font-size:12px;line-height:1.75;max-width:48ch;margin:0;color:#ecd6de}
/* footer: common grid, actual social icons inside footer */
.footer{background:#3c2b35}.footer-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,1.2fr);align-items:start;gap:clamp(22px,3vw,60px);padding-top:45px;padding-bottom:45px}
.footer-brand{font-size:clamp(47px,4vw,62px)}.footer-col span{font-size:9px;letter-spacing:.16em}
.footer-col p{margin:8px 0 0;font-size:12px;line-height:1.85;color:#eddae1}
.footer-social-links{display:flex;flex-direction:column;gap:14px!important;margin-top:8px!important}
.footer-social-links a{display:inline-flex;align-items:center;gap:11px;width:max-content;font-size:12px;color:#f7e8ee;text-decoration:none;border:0!important;padding:2px 0;transition:color .25s}
.footer-social-links a:hover{color:#ffb9cf}.footer-social-links svg{flex-shrink:0;width:19px;height:19px}
.footer-social-links span{font-size:12px!important;letter-spacing:0!important;font-weight:normal}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;padding-top:22px;padding-bottom:28px}
/* global feel */
.btn,.header-book{border-radius:5px!important;box-shadow:none!important}
.btn:hover,.header-book:hover{transform:translateY(-2px)}
@media(max-width:1120px){
 .hero{height:auto;min-height:750px;grid-template-columns:51% 49%}.hero-text{padding:50px 27px 50px var(--gutter)}.hero h1{font-size:clamp(37px,4.5vw,53px)}.hero-photo-wrap{min-height:670px}
 .benefit-pane,.benefit-pane+.benefit-pane{padding-left:0!important}.benefit-pane+.benefit-pane{padding-left:38px!important}
 .contact-v7-layout{gap:38px}.contact-v7-action{padding-left:35px}.contact-v7-action .contact-actions{flex-wrap:wrap}
}
@media(max-width:790px){
 .hero{display:flex;flex-direction:column;min-height:0}.hero-text{order:1;padding:47px var(--gutter) 35px}.hero-photo-wrap{order:2;height:min(76vw,590px);min-height:0}.hero h1{font-size:clamp(42px,7.8vw,60px)}
 .benefit-grid{grid-template-columns:1fr}.benefit-pane,.benefit-pane+.benefit-pane{border:0!important;padding:30px 0 35px!important}.benefit-pane+.benefit-pane{border-top:1px solid var(--v7-rule)!important}
 .practical-layout{grid-template-columns:1fr;gap:0}.tarif-panel{min-height:0;padding:34px}.practical-stack{padding:30px 0!important}.map-frame{aspect-ratio:1.5/1}
 .credentials-grid{grid-template-columns:1fr}.credential-row:last-child{grid-column:auto}
 .reviews-shell{grid-template-columns:1fr;gap:24px}.reviews-strip{border-bottom:1px solid var(--v7-rule);padding-bottom:15px}
 .contact-v7-layout{grid-template-columns:1fr;gap:38px}.contact-v7-head h2{font-size:clamp(55px,8.6vw,75px)}.contact-v7-action{border-left:0;border-top:1px solid rgba(255,240,238,.24);padding:26px 0 0;gap:18px}
 .footer-main{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .header-content{min-height:67px}.hero{padding-top:67px}.hero-text{padding:38px var(--gutter) 33px}.hero h1{font-size:clamp(38px,10.7vw,51px)}
 .hero-buttons{display:flex;flex-direction:row;flex-wrap:wrap}.hero-buttons .btn{flex:1;min-width:0;padding:12px 7px;font-size:10px}
 .hero-photo-wrap{height:104vw;max-height:520px}.hero-photo-wrap img{object-position:50% 35%}
 .section-block{padding:72px 0}.section-head{margin-bottom:38px}
 .benefit-pane h3{font-size:43px}.benefit-pane li{font-size:14px}
 .process-line{display:none}.process-step{border:0!important;padding-top:0!important}
 .tarif-panel{padding:28px}.price{font-size:clamp(108px,31vw,145px)}
 .practical-map{padding-top:35px}.map-frame{aspect-ratio:1.1/1}.map-editorial-header{display:block}.map-editorial-header p{margin-top:12px}
 .about-credentials{margin-top:55px}.credential-row{grid-template-columns:35px 1fr}.credential-row h3{font-size:23px}
 .review-band{padding:46px 0}.elfsight-app-e8cc7a67-f744-429f-bb55-ba2920147fca{min-height:220px}
 .contact-inner{padding:65px var(--gutter) 75px}.contact-v7-head h2{font-size:clamp(53px,12vw,76px)}.contact-v7-action .contact-number{font-size:clamp(33px,9vw,52px)}.contact-v7-action .contact-actions{width:100%;display:grid;grid-template-columns:1fr;gap:10px}.contact-v7-action .contact-actions .btn{width:100%}
 .footer-main{grid-template-columns:1fr;gap:20px;padding-top:35px;padding-bottom:30px}.footer-bottom{grid-template-columns:1fr;gap:13px;padding-bottom:108px}.footer-bottom>div{flex-wrap:wrap;gap:12px}
}
@media(prefers-reduced-motion:reduce){.hero-photo-wrap img{animation:none!important;transform:none!important}.situation-glyph,.btn,.header-book{transition:none!important}}
@media(max-width:790px){.about-pictures{width:100%!important;max-width:100%!important;min-width:0}}
@media(max-width:790px){.about-credentials-head{grid-template-columns:minmax(0,1fr)}.about-credentials-head p{max-width:100%}}
