/* Site-wide readable typography. Loaded after the page styles. */
body[data-page]{font-size:16px;line-height:1.75}
body[data-page] main p,body[data-page] main li,body[data-page] main address{font-size:17px;line-height:1.85}
body[data-page] main :is(label,legend,input,select,textarea,output){font-size:16px;line-height:1.65}
body[data-page] :is(.button,.nav-cta,.text-link,.text-button){font-size:16px;line-height:1.5}
body[data-page] .button{padding:16px 24px;min-height:50px}
body[data-page] .eyebrow{font-size:14px!important;line-height:1.6;letter-spacing:1.7px}
body[data-page] header nav{font-size:17px;gap:26px}
body[data-page] header .nav-cta{font-size:16px;padding:12px 20px}
body[data-page] .small{font-size:14px!important;line-height:1.8}
body[data-page] :is(.feature-hint,.feature-compatibility,.experience-note,.voice-disclaimer,.simulation,.service-planning-visual figcaption){font-size:14px;line-height:1.8}
body[data-page] .new-footer .footer-top a{font-size:16px;line-height:1.85}
body[data-page] .new-footer .footer-top address{font-size:16px;line-height:1.9;color:#625b53}
body[data-page] .new-footer .footer-top .eyebrow{font-size:14px;line-height:1.7;margin-bottom:18px}
body[data-page] .new-footer .footer-bottom,body[data-page] .new-footer .footer-bottom>span:last-child{font-size:14px;line-height:1.7}
body[data-page] .centres .wrap>p:not(.eyebrow){font-size:17px;line-height:1.85;max-width:680px}
body[data-page] .centre-note{font-size:16px;line-height:1.8;max-width:650px;margin:20px auto 0;color:#d5c8be}
body[data-page] .centres .button.light{font-size:16px}
body[data-page] .hero-copy>p{font-size:22px;line-height:1.7}
body[data-page] .features-heading p{font-size:17px;line-height:1.85;max-width:740px}
body[data-page] .feature-hint{margin-top:20px}
body[data-page] .feature-flip{display:grid;height:auto;min-height:460px}
body[data-page] .flip-inner{display:grid;height:auto;min-height:460px}
body[data-page] .flip-front,body[data-page] .flip-back{position:relative;inset:auto;grid-area:1/1;min-height:460px}
body[data-page] .flip-image{height:180px;flex-shrink:0}
body[data-page] .flip-title{font-size:32px;line-height:1.15}
body[data-page] .flip-subtitle{font-size:16px;line-height:1.7;color:#6a6258;padding-top:12px}
body[data-page] .flip-action,body[data-page] .flip-back .flip-action{font-size:14px;line-height:1.6}
body[data-page] .flip-action{padding-top:24px}
body[data-page] .flip-category{font-size:14px;line-height:1.65;letter-spacing:1.2px;max-width:none}
body[data-page] .flip-back-title{font-size:36px;line-height:1.15}
body[data-page] .flip-description{font-size:16px;line-height:1.8;margin-bottom:28px}
body[data-page] .flip-back .flip-action{padding-top:0}
body[data-page] .flip-plus{width:32px;height:32px;font-size:23px;flex-shrink:0}
body[data-page] .service-editorial-copy>p{font-size:17px;line-height:1.85}
body[data-page] .service-editorial-copy .button{font-size:16px;padding:16px 23px}
body[data-page] .journey-title h2{font-size:21px;line-height:1.45}
body[data-page] .journey-title p{font-size:16px;line-height:1.8;color:#556771;max-width:300px}
body[data-page] .journey-description>p{font-size:17px;line-height:1.85;color:#655d53}
body[data-page] .journey-description>.journey-included{font-size:16px;line-height:1.85;color:#6c655a}
body[data-page] .journey-included>span{font-size:14px;line-height:1.7;letter-spacing:1.3px}
body[data-page] .service-scope-note{font-size:16px;line-height:1.85;color:#70675b}
body[data-page] .service-questions summary{font-size:17px;line-height:1.7;padding-right:34px}
body[data-page] .service-questions details p{font-size:16px;line-height:1.85;color:#70675b}
body[data-page] .service-closing p{font-size:17px;line-height:1.85}
body[data-page] .page-intro>p:last-child{font-size:17px;line-height:1.85;max-width:720px}
body[data-page] .story-copy>p:not(.eyebrow){font-size:17px;line-height:1.85;color:#70665c}
body[data-page] .story-copy .story-signature{font-size:28px!important}
body[data-page] .story-image>span{font-size:14px;line-height:1.7;max-width:85%}
body[data-page] .brand-film>div>p:not(.eyebrow){font-size:17px;line-height:1.85}
body[data-page] .film-frame>a{font-size:16px;line-height:1.8}
body[data-page] .commitment>div>p:not(.eyebrow),body[data-page] .commitment-grid p{font-size:17px;line-height:1.85;max-width:none}
body[data-page] .commitment-grid article>span{font-size:14px}
body[data-page] .careers-content>div>p:not(.eyebrow){font-size:17px;line-height:1.85}
body[data-page] .careers-content .small{font-size:16px!important}
body[data-page] .privacy-content>p{font-size:17px;line-height:1.9}
body[data-page] .simple-contact-heading p{font-size:17px;line-height:1.8;max-width:480px}
body[data-page] .simple-contact-links a{font-size:16px;line-height:1.7}
body[data-page] .simple-contact-links{gap:18px 24px}
body[data-page] .simple-contact-links img{width:20px;height:20px}
body[data-page] .simple-contact-form label,body[data-page] .simple-contact-form legend{font-size:16px;line-height:1.65}
body[data-page] .simple-contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body[data-page] .simple-contact-form textarea{font-size:16px;line-height:1.65;padding:13px 14px}
body[data-page] .simple-contact-form .radio-options{gap:14px 20px}
body[data-page] .simple-contact-form .radio-options label{font-size:16px;line-height:1.6}
body[data-page] .simple-contact-form input[type=radio]{width:18px;height:18px;flex-basis:18px}
body[data-page] .simple-contact-form .consent{font-size:14px;line-height:1.8;margin-top:24px}
body[data-page] .simple-contact-form>.button{font-size:16px;min-height:52px}
body[data-page] .simple-contact-form #form-status{font-size:16px;line-height:1.8}
body[data-page] .simple-contact-form label>span{color:#6e6a61}
body[data-page] .control-title{font-size:14px;line-height:1.65;letter-spacing:1px}
body[data-page] .control-row{font-size:17px;line-height:1.65}
body[data-page] .control-row .text-button{font-size:16px}
body[data-page] .slider-label{font-size:16px;line-height:1.65}
body[data-page] .scene-buttons button{min-height:110px;padding:14px 6px}
body[data-page] .scene-buttons button span{font-size:14px;line-height:1.5;white-space:normal}
body[data-page] .controls .voice{font-size:16px;line-height:1.65;padding:14px;gap:12px}
body[data-page] .controls .small{font-size:14px!important;line-height:1.8}
body[data-page] .controls #command{font-size:16px;line-height:1.65;padding:10px 0}
body[data-page] .controls #command-form button{font-size:20px;padding:5px 8px}
body[data-page] .room-label{font-size:14px;line-height:1.6}
body[data-page] .voice-heading>p:last-child{font-size:17px;line-height:1.85}
body[data-page] .assistant-grid article>p:last-child{font-size:17px;line-height:1.85}
body[data-page] .moment-photo>span{font-size:14px;line-height:1.7;max-width:80%}
body[data-page] .moment-timeline article>span{font-size:16px;line-height:1.7}
body[data-page] .moment-timeline p:not(.eyebrow){font-size:17px;line-height:1.85}
body[data-page] .routine-tags{gap:8px;flex-wrap:wrap}
body[data-page] .routine-tags span{font-size:14px;line-height:1.6;padding:5px 9px}
body[data-page] .section-heading>p{font-size:17px;line-height:1.85}
body[data-page] .preview-notice{font-size:14px!important;line-height:1.6;padding:8px 16px!important}
@media(max-width:1150px){body[data-page] .flip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-page] header nav{gap:20px;font-size:16px}body[data-page] header .brand img{width:150px;height:55px}}
@media(max-width:950px){body[data-page] .flip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page] .experience-grid{grid-template-columns:1fr}body[data-page] .experience .room{height:420px;min-height:0}body[data-page] .experience .controls{padding:30px}body[data-page] .scene-buttons button{min-height:90px}body[data-page] .voice-heading{display:block}body[data-page] .voice-heading>p:last-child{max-width:500px}body[data-page] .assistant-grid{gap:20px}body[data-page] .assistant-grid article{margin-right:0;padding-right:18px}body[data-page] header nav{gap:16px;font-size:16px}body[data-page] header .brand img{width:132px;height:48px}body[data-page] header .nav-cta{padding:11px 15px}}
@media(max-width:800px){body[data-page] .story-layout{grid-template-columns:1fr}body[data-page] .story-image{height:350px}body[data-page] .brand-film{grid-template-columns:1fr;gap:25px}body[data-page] .commitment{grid-template-columns:1fr}body[data-page] .moment-layout{grid-template-columns:1fr}body[data-page] .moment-photo{height:370px;min-height:0}body[data-page] header{gap:12px}}
@media(max-width:700px){body[data-page] main p,body[data-page] main li,body[data-page] main address{font-size:16px;line-height:1.85}body[data-page] header nav{font-size:18px;gap:24px}body[data-page] header .nav-cta{font-size:15px;padding:11px 14px}body[data-page] .hero-copy>p{font-size:20px;line-height:1.75}body[data-page] .home-hero{min-height:700px;height:auto}body[data-page] .new-footer .footer-top{grid-template-columns:1fr;gap:32px}body[data-page] .new-footer .footer-top>div:first-child{grid-column:auto}body[data-page] .new-footer .footer-top a,body[data-page] .new-footer .footer-top address{font-size:16px}body[data-page] .new-footer .footer-bottom{gap:18px;font-size:14px}body[data-page] .new-footer .footer-bottom>span:last-child{font-size:14px;letter-spacing:1px}body[data-page] .feature-flip,body[data-page] .flip-inner,body[data-page] .flip-front,body[data-page] .flip-back{min-height:450px}body[data-page] .flip-image{height:175px}body[data-page] .flip-title{font-size:32px}body[data-page] .flip-subtitle{font-size:16px}body[data-page] .flip-action,body[data-page] .flip-back .flip-action{font-size:14px}body[data-page] .flip-category{font-size:14px}body[data-page] .flip-description{font-size:16px}body[data-page] .centre-note{font-size:16px;max-width:340px}body[data-page] .centres .wrap>p:not(.eyebrow){font-size:16px;max-width:350px}body[data-page] .journey-title h2{font-size:20px}body[data-page] .journey-title p,body[data-page] .journey-description>p,body[data-page] .journey-description>.journey-included,body[data-page] .service-scope-note{font-size:16px}body[data-page] .journey-included>span{font-size:14px}body[data-page] .service-editorial-copy>p,body[data-page] .service-questions details p,body[data-page] .service-closing p{font-size:16px}body[data-page] .service-questions summary{font-size:16px}body[data-page] .service-journey-row{grid-template-columns:34px minmax(0,1fr);gap:15px}body[data-page] .simple-contact-links{gap:16px 22px}body[data-page] .simple-contact-links a{font-size:16px}body[data-page] .simple-contact-form{padding:25px 20px}body[data-page] .simple-contact-form .consent{font-size:14px}body[data-page] .assistant-grid{display:block}body[data-page] .assistant-grid article>p:last-child{font-size:16px}body[data-page] .moment-timeline article{grid-template-columns:50px minmax(0,1fr);gap:15px}body[data-page] .moment-timeline p:not(.eyebrow){font-size:16px}body[data-page] .section-heading>p{font-size:16px}body[data-page] .room-label{top:18px;left:18px;max-width:85%}body[data-page] .simulation{font-size:14px;letter-spacing:.5px;right:15px;bottom:17px}body[data-page] .scene-caption{bottom:66px}body[data-page] .page-intro>p:last-child{font-size:16px;max-width:370px}body[data-page] .careers-content>div>p:not(.eyebrow),body[data-page] .story-copy>p:not(.eyebrow),body[data-page] .privacy-content>p{font-size:16px}body[data-page] .film-frame>a{font-size:16px}}
@media(max-width:550px){body[data-page] .flip-grid{grid-template-columns:1fr}body[data-page] .flip-image{height:190px}body[data-page] .flip-back-title{font-size:38px}body[data-page] .commitment-grid{grid-template-columns:1fr}body[data-page] .scene-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page] .scene-buttons button{min-height:95px}body[data-page] .experience .controls{padding:25px}body[data-page] .simple-contact-links a:last-child{font-size:15px}}
@media(max-width:360px){body[data-page] header .brand img{width:116px;height:43px}body[data-page] header .nav-cta{font-size:14px;padding:10px 11px}body[data-page] header{gap:9px}body[data-page] .simple-contact-form{padding:22px 16px}body[data-page] .simple-contact-links a:last-child{font-size:14px}}
body[data-page] :is(.feature-compatibility,.feature-hint,.experience-note,.service-planning-visual figcaption,.small){color:#655f56}
body[data-page] .new-footer .footer-bottom{color:#655f56}
body[data-page] input::placeholder,body[data-page] textarea::placeholder{color:#71695e;opacity:1}
body[data-page] label>span{color:#696359}
body[data-page] .controls input::placeholder{color:#c5b8ad}
body[data-page] .controls .small{color:#d0c2b8}
body[data-page] .hero-actions .button{font-size:16px;padding:16px 24px}

body[data-page="index.html"] .home-features{padding-bottom:48px}
@media(max-width:700px){body[data-page="index.html"] .home-features{padding-bottom:34px}}
/* White calls to action share the same rust hover and keyboard-focus treatment. */
body[data-page] .button.light:is(:hover,:focus-visible),
body[data-page] .centres .button.light:is(:hover,:focus-visible),
body[data-page] .simple-contact-form>#whatsapp-followup:is(:hover,:focus-visible){background:var(--rust);color:#fff;border-color:var(--rust)}
/* Careers follows the same editorial rhythm as Services. */
body[data-page="careers.html"] .careers-editorial-opening{max-width:1240px;display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:center;padding:50px 0 35px}
body[data-page="careers.html"] .careers-editorial-opening .eyebrow{color:var(--rust);margin:0 0 23px}
body[data-page="careers.html"] .careers-editorial-opening h1{font:65px/1.03 var(--serif);letter-spacing:-1.5px;margin:0;text-wrap:balance}
body[data-page="careers.html"] .careers-editorial-opening>p{font-size:17px;line-height:1.85;color:#70675c;max-width:480px;margin:0}
body[data-page="careers.html"] .careers-team-visual{max-width:1240px;margin-top:0;margin-bottom:38px}
body[data-page="careers.html"] .careers-team-visual img{display:block;width:100%;height:340px;object-fit:cover;object-position:center;background:#dfe4dc}
body[data-page="careers.html"] .careers-team-visual figcaption{font:14px/1.8 var(--sans);color:#655f56;margin-top:11px;text-align:right}
body[data-page="careers.html"] .careers-email-invitation{max-width:850px;text-align:center;padding:37px 0 55px;border-top:1px solid #d6d3ca;margin-bottom:25px}
body[data-page="careers.html"] .careers-email-invitation h2{font:44px/1.1 var(--serif);letter-spacing:-.7px;margin:0 0 23px}
body[data-page="careers.html"] .careers-email-invitation p{font-size:17px;line-height:1.9;color:#6c6359;margin:0 0 17px}
body[data-page="careers.html"] .careers-email-invitation a{display:inline-block;font:500 23px/1.6 var(--sans);color:var(--rust);border-bottom:1px solid #b8826d;margin-top:10px;overflow-wrap:anywhere}
body[data-page="careers.html"] .careers-email-invitation a:hover{color:var(--ink);border-bottom-color:var(--ink)}
body[data-page="careers.html"] .careers-email-invitation .careers-role-note{font-size:16px;color:#6c736b;margin-top:26px}
@media(max-width:1100px){body[data-page="careers.html"] .careers-editorial-opening{gap:40px}body[data-page="careers.html"] .careers-editorial-opening h1{font-size:56px}body[data-page="careers.html"] .careers-team-visual img{height:310px}}
@media(max-width:800px){body[data-page="careers.html"] .careers-editorial-opening{gap:30px}body[data-page="careers.html"] .careers-editorial-opening h1{font-size:47px;letter-spacing:-.8px}body[data-page="careers.html"] .careers-team-visual img{height:270px}}
@media(max-width:700px){body[data-page="careers.html"] .careers-editorial-opening{grid-template-columns:1fr;gap:24px;padding:35px 0 27px}body[data-page="careers.html"] .careers-editorial-opening .eyebrow{margin-bottom:20px}body[data-page="careers.html"] .careers-editorial-opening h1{font-size:47px;line-height:1.07;letter-spacing:-.8px}body[data-page="careers.html"] .careers-editorial-opening>p{font-size:16px;max-width:370px}body[data-page="careers.html"] .careers-team-visual{margin-bottom:28px}body[data-page="careers.html"] .careers-team-visual img{height:230px}body[data-page="careers.html"] .careers-team-visual figcaption{text-align:left;font-size:14px}body[data-page="careers.html"] .careers-email-invitation{padding:28px 0 37px;margin-bottom:12px}body[data-page="careers.html"] .careers-email-invitation h2{font-size:38px;line-height:1.15}body[data-page="careers.html"] .careers-email-invitation p{font-size:16px}body[data-page="careers.html"] .careers-email-invitation a{font-size:19px;margin-top:9px}body[data-page="careers.html"] .careers-email-invitation .careers-role-note{font-size:16px}}

/* SEO: picture-wrapped heroes keep the same crop as the old img. */
body[data-page] picture.hero-image{display:block;position:absolute;inset:0;width:100%;height:100%}
body[data-page] picture.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body[data-page] .service-planning-visual picture,
body[data-page] .careers-team-visual picture,
body[data-page] .about-visual picture{display:block}
body[data-page] .service-planning-visual picture img,
body[data-page] .careers-team-visual picture img,
body[data-page] .about-visual picture img{display:block;width:100%;height:100%;object-fit:cover}
body[data-page="index.html"] .hero-actions{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
body[data-page="index.html"] .hero-actions .quiet-link{color:#f2f2f2;border-bottom:1px solid rgba(242,242,242,.45);padding-bottom:4px;font-size:16px}
body[data-page="index.html"] .hero-actions .quiet-link:hover{border-bottom-color:#fff}
body[data-page="index.html"] .home-plain{max-width:920px;padding:56px 0 8px}
body[data-page="index.html"] .home-plain h2{font-size:clamp(32px,4.2vw,48px);letter-spacing:-.8px;margin:0 0 18px}
body[data-page="index.html"] .home-plain p{max-width:740px;color:#6f675c;margin:0}
body[data-page="index.html"] .home-plain-list{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;padding:18px 0 0;margin:0;max-width:720px}
body[data-page="index.html"] .home-plain-list li{font-size:16px;color:#5e574e}
body[data-page="services.html"] .service-scope{max-width:1240px;padding:8px 0 36px}
body[data-page="services.html"] .service-scope h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.6px;margin:0 0 18px}
body[data-page="services.html"] .service-scope ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px;list-style:none;padding:0;margin:0 0 16px}
body[data-page="services.html"] .service-scope li{font-size:17px;color:#5e574e}
body[data-page="contact.html"] .simple-contact-address{display:block;text-align:center;font-style:normal;font-size:16px;line-height:1.85;color:#625b53;margin:8px 0 6px}
body[data-page="contact.html"] .simple-contact-hours{text-align:center;font-size:16px;color:#6e675e;margin:0 0 28px}
@media(max-width:700px){
  body[data-page="index.html"] .home-plain{padding:36px 0 4px}
  body[data-page="index.html"] .home-plain h2{font-size:32px}
  body[data-page="index.html"] .hero-actions .quiet-link{font-size:15px}
  body[data-page="contact.html"] .simple-contact-address,body[data-page="contact.html"] .simple-contact-hours{text-align:left}
}

/* Brand preference: upright typography only, on every public page. */
body[data-page],body[data-page] *,body[data-page] *::before,body[data-page] *::after{font-style:normal!important}

/* About: one story, one image, one invitation. */
body[data-page="about.html"] .about-opening{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:64px;padding-bottom:44px}
body[data-page="about.html"] .about-opening .eyebrow{color:var(--rust);font:14px/1.7 var(--sans);letter-spacing:2px;margin:0 0 23px}
body[data-page="about.html"] .about-opening h1{font:64px/1.07 var(--serif);letter-spacing:-1.1px;margin:0}
body[data-page="about.html"] .about-narrative p{font:17px/1.85 var(--sans);color:#71695e;margin:0 0 20px;max-width:535px}
body[data-page="about.html"] .about-narrative p:last-child{margin:0}
body[data-page="about.html"] .about-visual{margin-top:0;margin-bottom:0}
body[data-page="about.html"] .about-visual img{display:block;width:100%;height:460px;object-fit:cover;object-position:center 57%}
body[data-page="about.html"] .about-invitation{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:30px;padding-bottom:54px}
body[data-page="about.html"] .about-invitation p{font:26px/1.4 var(--serif);margin:0}
body[data-page="about.html"] .about-invitation a{font:16px/1.6 var(--sans);border-bottom:1px solid var(--rust);padding-bottom:5px;color:var(--rust)}
@media(max-width:800px){body[data-page="about.html"] .about-opening{grid-template-columns:1fr;gap:25px;padding-top:38px;padding-bottom:30px}body[data-page="about.html"] .about-opening h1{font-size:48px}body[data-page="about.html"] .about-narrative p{max-width:none;font-size:16px}body[data-page="about.html"] .about-visual img{height:330px}body[data-page="about.html"] .about-invitation{align-items:start;flex-direction:column;gap:17px;padding-bottom:38px}body[data-page="about.html"] .about-invitation p{font-size:25px}}
@media (prefers-reduced-motion: no-preference) {
  html.motion .hero-copy h1,
  html.motion .hero-copy > p,
  html.motion .hero-actions,
  html.motion header .brand,
  html.motion header nav a,
  html.motion header .nav-cta,
  html.motion .features-heading,
  html.motion .feature-flip,
  html.motion main > section:not(.hero):not(.home-hero):not(.home-features),
  html.motion .privacy-content,
  html.motion .new-footer .footer-top > div {
    opacity: 0;
  }
}
