/* CONSTANZA — V8.3 | EDITORIAL MASTER PASS
   One consistent outer grid, restrained type, real horizontal credentials strip.
   Unchanged photographs. Editorial rules instead of UI cards. */
:root{--ed-shell:1280px;--ed-gutter:clamp(22px,3.65vw,52px);--ed-ink:#382b35;--ed-hair:rgba(85,55,67,.14);--ed-side:max(var(--ed-gutter),calc((100vw - var(--ed-shell))/2 + var(--ed-gutter)))}

/* Unified page grid: headers, content, CTA and footer now share one left/right edge */
.header-content,.footer-main,.footer-bottom,.contact-inner{
  box-sizing:border-box; width:100%;max-width:var(--ed-shell);margin-inline:auto;
  padding-left:var(--ed-gutter);padding-right:var(--ed-gutter);
}
.container{box-sizing:border-box;max-width:var(--ed-shell);padding-inline:var(--ed-gutter)}
.header-content{min-height:83px;gap:clamp(13px,1.6vw,25px)}
.desktop-nav{gap:clamp(10px,1.05vw,20px)}
.desktop-nav a{font-size:11px;letter-spacing:.002em}
.brand{margin-left:0}
.header-book{border-radius:4px!important}
.section-block{padding-block:clamp(75px,7.5vw,124px)}
.section-head{grid-template-columns:88px minmax(0,1fr) minmax(0,210px);column-gap:22px;align-items:start}
.section-head .section-num{padding:0;margin:1px 0 0;line-height:1.1}
.section-head .overline{margin:1px 0 18px;line-height:1.1}
.section-head>p{padding-top:0;margin-top:1px}
.benefits .section-head,.process .section-head{grid-template-columns:88px minmax(0,1fr) 0}
.benefits .benefit-grid{margin-left:110px;width:calc(100% - 110px)}

/* Hero: original image intact, but typography and spacing are resolved as one spread */
.hero{padding-top:83px;height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,52.5%) minmax(0,47.5%);align-items:stretch;background:#fdf3ee}
.hero-text{padding:clamp(34px,3.5vw,48px) clamp(22px,2.5vw,40px) clamp(32px,3.5vw,48px) var(--ed-side);display:flex;align-items:flex-start;justify-content:center}
.hero h1{font-size:clamp(36px,3.15vw,49px);max-width:650px;line-height:1.06;letter-spacing:-.046em;font-weight:400;margin:0 0 19px;overflow-wrap:normal}
.hero-title-primary,.hero-title-accent,.hero-title-close{display:block;max-width:100%}
.hero-title-primary{font-weight:400}
.hero h1 .hero-title-accent{font-family:var(--serif);font-style:italic;font-size:.88em;line-height:1.09;letter-spacing:-.035em;color:#b14e70;font-weight:normal;margin:7px 0 4px}
.hero-title-close{font-size:.94em;font-weight:400;line-height:1.07}
.eyebrow{margin:0 0 23px;gap:8px;font-size:9px}
.hero .hero-intro{font-size:13px;line-height:1.48;max-width:485px;margin:0 0 5px}
.hero-buttons{gap:10px;margin-top:15px}
.hero-buttons .btn{min-height:47px;font-size:11px;padding:13px 18px;gap:20px}
.hero .hero-note{margin:9px 0 0;line-height:1.35}
.hero-meta{margin-top:21px;letter-spacing:.22em}
.hero-photo-wrap{padding:40px var(--ed-side) 40px 0;display:flex;align-items:center;justify-content:flex-end;background:#f1edeb;min-height:0;overflow:hidden}
.hero-photo-wrap img{width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;object-position:center;filter:none!important;transform:none!important;animation:none!important;will-change:auto}
.hero-photo-wrap::after,.hero-photo-wrap::before{display:none!important}
.hero-narrative{padding-block:36px;padding-inline:var(--ed-gutter);border-bottom:1px solid var(--ed-hair)}
.hero-narrative-inner{max-width:calc(var(--ed-shell) - 2 * var(--ed-gutter));grid-template-columns:minmax(130px,.55fr) 1fr 1fr;gap:clamp(25px,4vw,56px)}
.hero-narrative p{font-size:clamp(17px,1.45vw,21px);line-height:1.45}

/* Situations, benefits, process: type + space rather than UI chrome */
.situations-grid{border-color:var(--ed-hair)}
.situation{border-color:var(--ed-hair)}
.situation-glyph{width:77px;height:77px;margin-bottom:24px}
.situation-glyph svg{width:42px;height:42px}
.situation h3{font-size:clamp(21px,1.8vw,28px)}
.benefit-pane h3{font-size:clamp(38px,3.5vw,53px)}
.benefit-pane li{border-color:var(--ed-hair)!important}
.process-map{margin-top:45px}

/* Qualifications must be an actual HORIZONTAL editorial banner: five columns, not a column of five boxes or piled scroller */
.about-credentials{max-width:none;margin-top:clamp(55px,6vw,86px);padding-top:30px;border-top:1px solid var(--ed-hair)}
.about-credentials-head{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;margin:0 0 28px;max-width:none}
.about-credentials-head p{max-width:64ch;font-size:clamp(20px,2.1vw,27px);line-height:1.32}
.credentials-banners{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;gap:0;overflow:visible;padding:0;margin:0;width:100%;max-width:none;border-top:1px solid var(--ed-hair);border-bottom:1px solid var(--ed-hair)}
.credential-ribbon-entry,.credentials-banners .credential-ribbon-entry,.credentials-banners .credential-ribbon-entry:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;width:auto;min-height:180px;margin:0;padding:26px 17px 25px 19px;box-sizing:border-box;border:0!important;border-left:1px solid var(--ed-hair)!important;background:transparent!important;transform:none!important;box-shadow:none!important;transition:background .3s ease,padding-top .3s ease}
.credential-ribbon-entry:first-child{padding-left:0;border-left:0!important}
.credential-ribbon-entry:hover{background:rgba(252,219,217,.18)!important;padding-top:20px}
.credential-ribbon-entry .credential-index{display:block;grid-row:auto;font:italic 24px/1 var(--serif);color:#b45372;padding:0;margin:0 0 20px}
.credential-ribbon-entry h3{font:clamp(18px,1.6vw,23px)/1.13 var(--serif);color:var(--ed-ink);letter-spacing:-.035em;margin:0 0 10px;overflow-wrap:normal}
.credential-ribbon-entry p{font-size:12px;line-height:1.45;color:#77666d;text-align:left;margin:auto 0 0}

/* Reviews and 07/CTA editorial transition */
.review-band{border-top:1px solid var(--ed-hair)}
.contact{background:#503642}
.contact-inner{display:block;padding-block:clamp(62px,6vw,82px);text-align:left}
.contact-v7-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(35px,5.1vw,76px);align-items:center}
.contact-v7-head .section-num{margin-bottom:20px}
.contact-v7-head .overline{margin-bottom:14px}
.contact-v7-head h2{font:clamp(52px,5vw,72px)/1.02 var(--serif);letter-spacing:-.048em;margin-bottom:20px;max-width:11ch}
.contact-v7-head>p{font-size:clamp(18px,1.6vw,23px);max-width:33ch}
.contact-v7-action{padding-left:clamp(25px,3.7vw,54px);gap:20px}
.contact-v7-action .contact-number{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.045em}
.contact-v7-action .contact-actions{flex-wrap:wrap;gap:10px}
.contact-v7-action .contact-actions .btn{font-size:11px}
.contact-v7-action .contact-location{line-height:1.75}

/* Footer exact alignment, not a different wider layout */
.footer{background:#382a34}
.footer-main{max-width:var(--ed-shell);width:100%;display:grid;grid-template-columns:minmax(175px,1.15fr) minmax(160px,1fr) minmax(130px,.65fr) minmax(205px,1.15fr);column-gap:clamp(20px,3vw,46px);row-gap:20px;padding-top:42px;padding-bottom:38px;align-items:start}
.footer-bottom{max-width:var(--ed-shell);width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;padding-top:19px;padding-bottom:25px;border-top:1px solid rgba(255,240,238,.15)}
.footer-brand{font-size:clamp(38px,3.3vw,53px);line-height:1.03}
.footer-col p{margin-top:7px}
.footer-social-links{gap:8px!important;margin-top:7px!important}
.footer-social-links a{padding:0;font-size:12px}
.footer-social-links svg{width:17px;height:17px}
.footer-bottom>span,.footer-bottom>a,.footer-bottom button{font-size:10px;letter-spacing:.025em}

@media(max-width:1160px){
 .header-content{gap:12px}
 .desktop-nav{gap:clamp(8px,.8vw,15px)}
 .desktop-nav a{font-size:10px}
 .hero h1{font-size:clamp(33px,3.55vw,43px)}
 .hero-text{padding-right:25px}
 .hero-photo-wrap{padding-block:30px}
 .footer-main{grid-template-columns:minmax(150px,1.1fr) minmax(140px,1fr) minmax(110px,.75fr) minmax(195px,1.2fr);column-gap:20px}
}
@media(max-width:960px){
 .hero{grid-template-columns:52% 48%}
 .hero-text{padding-left:26px}
 .hero-photo-wrap{padding-right:24px}
 .hero h1{font-size:clamp(31px,3.9vw,37px)}
 .hero h1 .hero-title-accent{font-size:.84em}
 .hero-narrative-inner{grid-template-columns:1fr 1fr}
 .hero-narrative-inner .micro-label{grid-column:1/-1}
 .credentials-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .credential-ribbon-entry:nth-child(4){border-left:0!important}
 .credential-ribbon-entry:nth-child(n+4){border-top:1px solid var(--ed-hair)!important}
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:790px){
 :root{--ed-gutter:22px}
 .header-content{min-height:67px}
 .hero{display:flex;flex-direction:column;min-height:0;padding-top:67px}
 .hero-text{order:1;padding:36px var(--ed-gutter) 30px}
 .hero h1{font-size:clamp(36px,7.8vw,53px);max-width:650px}
 .hero-photo-wrap{order:2;padding:0 var(--ed-gutter) 28px;min-height:0;height:auto;max-height:none;justify-content:center}
 .hero-photo-wrap img{width:100%;height:auto;max-height:none}
 .hero-narrative{padding:32px var(--ed-gutter)}
 .hero-narrative-inner{display:block}
 .hero-narrative p{font-size:18px;margin-bottom:16px}
 .section-head{grid-template-columns:60px minmax(0,1fr)}
 .section-head>p{grid-column:2}
 .benefits .section-head,.process .section-head{grid-template-columns:60px minmax(0,1fr)}
 .benefits .benefit-grid{margin-left:0;width:100%}
 .about-credentials-head{grid-template-columns:1fr;gap:14px}
 .credentials-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .credential-ribbon-entry,.credentials-banners .credential-ribbon-entry{min-height:160px}
 .credential-ribbon-entry:nth-child(odd){border-left:0!important;padding-left:12px}
 .credential-ribbon-entry:nth-child(even){border-left:1px solid var(--ed-hair)!important}
 .credential-ribbon-entry:nth-child(n+3){border-top:1px solid var(--ed-hair)!important}
 .contact-v7-layout{grid-template-columns:1fr;gap:32px}
 .contact-v7-head h2{font-size:clamp(54px,8.5vw,72px)}
 .contact-v7-action{border-left:0;padding:25px 0 0;border-top:1px solid rgba(255,240,238,.22)}
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-bottom{grid-template-columns:1fr;gap:12px}
}
@media(max-width:480px){
 .hero h1{font-size:clamp(34px,9.2vw,44px)}
 .hero h1 .hero-title-accent{font-size:.86em}
 .hero-text{padding-top:30px}
 .hero-buttons{display:flex;gap:8px}
 .hero-buttons .btn{padding:12px 10px;min-width:0;font-size:10px}
 .hero-meta{display:none}
 .credentials-banners{grid-template-columns:1fr}
 .credential-ribbon-entry,.credentials-banners .credential-ribbon-entry,.credentials-banners .credential-ribbon-entry:last-child{border-left:0!important;border-top:1px solid var(--ed-hair)!important;min-height:0;padding:18px 5px!important;display:grid;grid-template-columns:43px minmax(0,1fr);gap:4px 11px}
 .credential-ribbon-entry:first-child{border-top:0!important}
 .credential-ribbon-entry .credential-index{grid-row:1 / span 2;margin:2px 0 0}
 .credential-ribbon-entry h3{font-size:24px}
 .credential-ribbon-entry p{grid-column:2;font-size:12px;margin:0}
 .contact-v7-head h2{font-size:clamp(47px,12vw,62px)}
 .footer-main{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.credential-ribbon-entry{transition:none!important}}

@media(min-width:791px) and (max-width:1120px){.credentials-banners{grid-template-columns:repeat(3,minmax(0,1fr))}.credential-ribbon-entry:nth-child(4){border-left:0!important}.credential-ribbon-entry:nth-child(n+4){border-top:1px solid var(--ed-hair)!important}}
