/* Alinéate · Integració 2026. Original approved mark and heart remain unchanged.
   Editorial warm identity, variance 6 / motion 6 / density 3. */
:root{--header-height:86px;--ease-out:cubic-bezier(.23,1,.32,1);--gutter:clamp(24px,5vw,88px)}
body{font-size:16px;line-height:1.8}
.site-header{box-shadow:none}
.brand-lockup{width:184px}
.desktop-nav{font-size:12px}
.language-switch button{font-size:11px;min-width:38px}
.eyebrow{font-size:10px;letter-spacing:.18em}
.button{font-size:12px;min-height:52px;transition:transform 160ms var(--ease-out),background-color 180ms var(--ease-out)}
.button:active{transform:scale(.985)}
.text-link{font-size:13px}
.hero{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.hero-scene{min-height:100svh;padding-block:calc(var(--header-height) + 25px) 83px;overflow:visible}
.hero-grid{grid-template-columns:1fr 1.08fr;gap:clamp(28px,5vw,80px);align-items:center}
.hero-copy{padding-bottom:0;max-width:620px}
.hero-copy .eyebrow{color:var(--wine);font-size:10px;letter-spacing:.16em;margin-bottom:29px}
.hero-copy h1{font-size:clamp(42px,4.5vw,72px);line-height:1.17;letter-spacing:-.045em;margin-bottom:26px}
.hero-copy .hero-title-state em{color:var(--wine)!important;-webkit-text-fill-color:var(--wine);font-style:italic}
.hero-intro{font-size:16px;line-height:1.85;color:#625D57;max-width:37ch;margin-bottom:29px}
.hero-secondary{color:var(--wine);font-size:11px;border-color:var(--gold-light)}
.hero-note{color:#72675C;font-size:10px;letter-spacing:.055em;max-width:42ch;margin-top:25px}
.hero-visual{--photo-opacity:1;--chart-opacity:0;--photo-scale:1.015;position:relative;isolation:isolate;min-width:0;width:100%;aspect-ratio:1.08;background:#54232D;border:1px solid rgba(194,164,119,.4)}
.hero-visual:after{content:'';position:absolute;inset:16px;pointer-events:none;border:1px solid rgba(245,240,232,.2);z-index:4}
.hero-visual:before{content:'';position:absolute;inset:-11px 11px 11px -11px;border:1px solid var(--gold-light);z-index:-1;pointer-events:none}
.hero-landscape{position:absolute;inset:0;overflow:hidden;opacity:var(--photo-opacity);z-index:2;visibility:visible}
.hero-landscape[inert]{pointer-events:none}
.hero-landscape>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:78% center;transform:scale(var(--photo-scale));will-change:transform}
.landscape-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(27,20,30,.8))}
.landscape-caption{position:absolute;bottom:40px;left:37px;right:30px;color:var(--paper)}
.landscape-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#F3E2CD}
.landscape-line{display:block;width:47px;height:1px;background:#D5B480;margin:18px 0}
.landscape-caption p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,2.4vw,37px);line-height:1.3;letter-spacing:-.025em}
.landscape-explore{display:inline-flex;align-items:center;gap:26px;min-height:44px;margin-top:16px;padding:6px 0;color:#F5F0E8;font-size:11px;background:none;border:0;border-bottom:1px solid #C2A477}
.landscape-explore .icon{width:17px;height:17px}
.hero-visual .chart-figure{position:absolute;inset:0;max-width:none;margin:0;padding:20px 27px 24px;justify-content:center;opacity:var(--chart-opacity);color:var(--paper);pointer-events:none}
.hero-visual #celestial-chart{height:calc(100% - 69px);width:100%;min-height:0}
.hero-visual .chart-caption{margin:0;padding-top:3px;flex-shrink:0}
.chart-stage-title{font-size:20px}
.chart-stage-description{font-size:10px;max-width:41ch}
.chart-example{font-size:8px;color:#D9CBBF}
.hero-bottom{bottom:19px}
.hero-scroll,.chart-controls button{color:#71675E}
.hero-scroll .icon{color:var(--wine)}
.chart-controls button{font-size:11px;padding-inline:4px}
.chart-controls button[aria-pressed=true]{color:var(--wine);border-color:var(--wine)}
.services{padding-block:110px 130px}
.services .section-heading h2,.method-copy h2,.connection-heading h2,.pricing h2{font-size:clamp(37px,4.1vw,61px)}
.section-intro,.method-copy .section-intro{font-size:16px;line-height:1.85}
.service-path p{font-size:15px;line-height:1.85}
.path-index{font-size:10px}
.path-link{font-size:12px}
.service-path h3{font-size:clamp(35px,3.5vw,51px)}
.service-path{padding-bottom:18px}
.method.section-space{padding-block:110px;background:#EEE7DD}
.method::before{display:none}
.method-layout{grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6.8vw,108px);align-items:center}
.reading-diagram{max-width:none;width:100%;position:relative;isolation:isolate;background:var(--paper);padding:25px 25px 27px;border:1px solid #D7C6AC}
.reading-diagram:before{inset:13px -13px -13px 13px;border-color:#C2A477}
.diagram-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;color:var(--wine)}
.diagram-dot{width:5px;height:5px;background:var(--wine);border-radius:50%}
.session-chart-svg{width:100%;height:auto;color:#A77E4C;overflow:visible;margin-block:9px}
.session-chart-svg .chart-origin text{fill:#741F29}
.session-chart-svg .zodiac{stroke:#A77E4C}
.diagram-legend{display:flex;gap:22px;justify-content:center;font-size:10px;color:#625D57;margin:0 0 24px}
.diagram-legend>span{display:flex;align-items:center;gap:7px}
.diagram-legend i{display:inline-block;width:6px;height:6px;background:#741F29;border-radius:50%}
.diagram-legend>span+span i{background:#A77E4C}
.reading-diagram figcaption{font-family:'Playfair Display',Georgia,serif;text-align:center;border-top:1px solid var(--line);padding-top:21px;font-size:22px;line-height:1.4;color:var(--ink)}
.reading-diagram .art-note{display:block;font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:.035em;margin-top:9px}
.reading-types p{font-size:14px;line-height:1.8}
.reading-types h3{font-size:24px}
.session-context{margin-top:75px}
.session-context-heading p{font-size:14px}
.session-steps p{font-size:14px}
.session-steps h4{font-size:15px}
.session-preparation{font-size:13px;line-height:1.8}
.connection{padding-block:95px 105px}
.connection-layout{grid-template-columns:1fr 1.05fr 1fr;gap:clamp(30px,5vw,80px)}
.connection-note p{font-size:14px}
.connection-note h3{font-size:30px}
.connection-label{font-size:10px}
.brand-emblem{max-width:285px}
.connection-conclusion{font-size:14px;max-width:60ch}
.about{background:var(--paper);color:var(--ink);padding-block:110px 130px;--muted:#6F6962;--line:#D9CEC0;--gold:#A77E4C;--gold-light:#C2A477;border-top:1px solid var(--line)}
.about:before{display:none}
.about-layout{grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,145px);align-items:center}
.cio-portrait{position:relative;max-width:520px;margin-inline:0;min-width:0}
.portrait-frame{position:relative;isolation:isolate;aspect-ratio:4/5}
.portrait-frame:before{content:'';position:absolute;inset:-15px 18px 18px -15px;border:1px solid var(--gold-light);z-index:-1}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.cio-portrait figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:20px;line-height:1.6}
.cio-portrait figcaption>span:first-child{font-family:'Playfair Display',Georgia,serif;font-size:20px;color:var(--wine)}
.cio-portrait figcaption>span:not(:first-child){font-size:9px;letter-spacing:.04em;color:#6F6962;align-self:center;text-align:right}
.about-heading .eyebrow{color:var(--wine)}
.about-heading h2{font-size:clamp(58px,6vw,88px);line-height:1.03;margin-bottom:35px}
.about-heading h2 em{color:var(--wine)}
.about-copy .lead{font-size:29px;line-height:1.4;color:#443B36;margin-bottom:25px}
.about-copy>p:not(.lead){font-size:16px;line-height:1.9;color:#625D57;margin-top:18px}
.about-copy .text-link{color:var(--wine);margin-top:29px;border-color:var(--gold-light)}
.pricing{padding-block:100px 85px;border-top:1px solid var(--line)}
.session-main>p{font-size:15px}
.session-natal h3{font-size:31px}
.session-complete ul{font-size:14px}
.session-category{font-size:10px}
.faq{padding-block:50px 110px}
.faq-list summary{font-size:15px;padding-block:23px}
.faq-list details p{font-size:14px;line-height:1.85}
.landscape-pause{position:relative;isolation:isolate;aspect-ratio:2.35;overflow:hidden;border-top:1px solid var(--line)}
.landscape-pause>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 66%;z-index:-1}
.pause-copy{position:relative;text-align:center;padding-top:clamp(40px,5vw,85px)}
.pause-copy .eyebrow{color:var(--wine);font-size:10px;margin-bottom:15px}
.pause-copy h2{font-size:clamp(33px,4vw,57px);line-height:1.2}
.pause-copy h2 em{color:var(--wine)}
.pause-line{display:block;width:1px;height:48px;background:var(--gold);margin:25px auto 0}
.contact-copy>p{font-size:16px}
.contact-heading>p:last-child{font-size:17px}
.contact-form label{font-size:12px}
.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px}
.contact-form textarea{min-height:120px}
.contact-form .field-help,.contact-form .form-status{font-size:12px}
.site-footer{border-top:1px solid var(--line)}
.motion-enabled .reveal{transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);transform:translateY(12px)}
.motion-enabled .reveal.is-visible{transform:none}
@media(hover:hover) and (pointer:fine){
 .text-link .icon,.landscape-explore .icon{transition:transform 180ms var(--ease-out)}
 .text-link:hover .icon,.landscape-explore:hover .icon{transform:translate(2px,-2px)}
 .landscape-explore:hover .icon{transform:translateX(2px)}
}
@media(min-width:761px) and (max-height:740px){
 .hero-scene{padding-block:calc(var(--header-height) + 20px) 76px}
 .hero-visual{max-height:calc(100svh - 190px);aspect-ratio:1.15}
 .hero-copy h1{font-size:clamp(42px,4vw,60px)}
 .hero-copy .eyebrow{margin-bottom:20px}
 .hero-intro{font-size:15px;margin-bottom:21px}
}
@media(max-width:1050px) and (min-width:761px){
 .hero-grid{gap:35px;grid-template-columns:1fr 1fr}
 .hero-copy h1{font-size:44px}
 .landscape-caption{left:25px;bottom:28px}
 .hero-visual{aspect-ratio:.85}
 .method-layout{gap:40px}
 .about-layout{gap:55px}
 .connection-layout{gap:25px}
}
@media(max-width:760px){
 :root{--header-height:78px;--gutter:25px}
 .brand-lockup{width:168px}
 .header-actions{gap:13px}
 .language-switch button{min-width:30px;padding-inline:4px}
 .hero-scene{min-height:0;padding-block:calc(var(--header-height) + 40px) 27px;overflow:hidden}
 .hero-grid{grid-template-columns:1fr;gap:38px}
 .hero-copy{max-width:none}
 .hero-copy h1{font-size:clamp(39px,7.6vw,59px);line-height:1.16;margin-bottom:24px}
 .hero-copy .eyebrow{font-size:9px;margin-bottom:22px}
 .hero-intro{font-size:16px;max-width:39ch;line-height:1.85;margin-bottom:25px}
 .hero-cta{gap:19px}
 .hero-copy .button{font-size:12px;min-height:51px;padding:13px 18px;gap:25px}
 .hero-secondary{font-size:11px}
 .hero-note{font-size:10px;margin-top:22px}
 .hero-visual{aspect-ratio:.88;max-width:580px;justify-self:center}
 .hero-visual:after{inset:13px}
 .landscape-caption{left:27px;bottom:25px;right:25px}
 .landscape-caption p{font-size:28px}
 .landscape-kicker{font-size:8px}
 .landscape-line{margin-block:13px}
 .landscape-explore{margin-top:9px;font-size:10px}
 .hero-visual .chart-figure{padding:16px 16px 20px;max-width:none}
 .hero-visual #celestial-chart{height:calc(100% - 65px)}
 .chart-stage-title{font-size:18px}
 .chart-stage-description{font-size:9px;line-height:1.5;max-width:34ch}
 .chart-example{font-size:7px;margin-top:5px}
 .hero-bottom{position:static;transform:none;display:flex;flex-direction:column-reverse;gap:12px;width:100%;margin-top:16px;padding-inline:25px}
 .chart-controls{gap:23px;justify-content:center;flex-wrap:wrap}
 .chart-controls button{font-size:10px;min-height:44px}
 .hero-scroll{display:flex;font-size:9px}
 .hero-scroll .icon{height:17px}
 .services{padding-block:75px 85px}
 .services .section-heading{gap:27px}
 .section-heading{margin-bottom:37px}
 .section-intro,.method-copy .section-intro{font-size:16px}
 .service-paths{gap:36px}
 .service-path h3{font-size:35px;margin-block:18px 14px}
 .service-path p{font-size:15px}
 .path-roots{margin-top:0}
 .method.section-space{padding-block:75px}
 .method-layout{grid-template-columns:1fr;gap:54px}
 .reading-diagram{max-width:440px;margin-inline:auto;padding:23px 19px}
 .reading-diagram figcaption{font-size:21px}
 .method-copy h2{font-size:38px}
 .reading-types p{font-size:14px}
 .reading-types h3{font-size:24px}
 .session-context{margin-top:48px}
 .session-context-heading p{font-size:14px}
 .session-steps p{font-size:14px}
 .session-preparation{font-size:13px}
 .connection{padding-block:75px}
 .connection-layout{grid-template-columns:1fr 1fr;gap:30px 25px}
 .brand-emblem{grid-column:1/-1;max-width:260px}
 .connection-note h3{font-size:26px}
 .connection-note p{font-size:14px}
 .connection-label{font-size:8px}
 .connection-conclusion{font-size:14px}
 .about{padding-block:85px}
 .about-layout{grid-template-columns:1fr;gap:50px}
 .cio-portrait{max-width:450px;margin-inline:auto;width:100%}
 .portrait-frame:before{inset:-12px 14px 14px -12px}
 .cio-portrait figcaption{gap:12px}
 .cio-portrait figcaption>span:first-child{font-size:19px}
 .cio-portrait figcaption>span:not(:first-child){font-size:8px}
 .about-heading h2{font-size:65px;margin-bottom:27px}
 .about-copy .lead{font-size:28px}
 .about-copy>p:not(.lead){font-size:16px}
 .pricing{padding-block:75px 65px}
 .pricing .section-heading{gap:27px}
 .session-main>p{font-size:15px}
 .session-complete ul{font-size:14px}
 .session-complete .button{font-size:12px;min-height:51px}
 .faq{padding-block:15px 75px;gap:30px}
 .faq-list summary{font-size:14px;line-height:1.6}
 .faq-list details p{font-size:14px}
 .landscape-pause{aspect-ratio:.96}
 .landscape-pause>img{object-position:center bottom}
 .pause-copy{padding:40px 20px 0}
 .pause-copy h2{font-size:34px}
 .pause-line{height:33px;margin-top:19px}
 .contact{padding-block:75px}
 .contact-copy>p{font-size:16px}
 .contact-heading>p:last-child{font-size:16px}
 .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
}
@media(max-width:370px){
 :root{--gutter:21px;--header-height:74px}
 .brand-lockup{width:150px}
 .header-actions{gap:7px}
 .hero-copy h1{font-size:37px}
 .hero-visual{aspect-ratio:.95}
 .landscape-caption p{font-size:25px}
 .chart-controls{gap:14px}
 .landscape-caption{left:24px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-scene{min-height:0}
 .hero-landscape>img{transform:none;will-change:auto}
 .hero-title-state{transform:none;transition:opacity 100ms linear}
 .motion-enabled .reveal{transform:none;opacity:1;transition:opacity 100ms linear}
 .button:active,.text-link:hover .icon{transform:none}
}
