/* Filopratica — a single visual system for all eight pages. */
@font-face{font-family:Poppins;src:url('./assets/fonts/poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./assets/fonts/poppins-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('./assets/fonts/poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('./assets/fonts/poppins-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url('./assets/fonts/poppins-800.woff2') format('woff2');font-weight:800;font-display:swap}
:root{
  --ink:#292626;--coral:#ed6a55;--aqua:#91d0d1;--yellow:#fdea51;
  --orange:#ff9b13;--pink:#e18ab9;--white:#fff;
  --panel-border:#29262626;--thread-ink:#91d0d1;
  --gutter:max(6.5vw,calc((100vw - 1280px)/2));--section-top:4rem;
  --thread-space:8.5rem;--radius:2rem;--line:#29262626;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:8rem}
body{margin:0;background:white;color:var(--ink);font:400 1rem/1.7 Poppins,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button,summary{cursor:pointer}
img{display:block;max-width:100%;height:auto}
figure,blockquote{margin:0}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;letter-spacing:-.045em;line-height:1.14;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.5rem,4.1vw,4.6rem)}
h2,.section-title{font-size:clamp(2rem,3.5vw,3.65rem)}
h3{font-size:clamp(1.4rem,2vw,1.9rem);letter-spacing:-.035em;line-height:1.2}
p+p{margin-top:1.15rem}
em{font-style:normal;color:var(--coral)}
strong,b{font-weight:600}
[hidden]{display:none!important}
:is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--ink);outline-offset:5px}
::selection{background:var(--yellow);color:var(--ink)}
.visually-hidden,.review-count{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Clear navigation and uncomplicated, coloured pill buttons. */
.site-header{position:fixed;z-index:50;top:1.15rem;left:4vw;right:4vw;display:flex;align-items:center;gap:2.25rem;padding:.9rem 1.35rem .9rem 1.65rem;background:#fffffff5;border:1px solid #2926260c;border-radius:999px;box-shadow:0 6px 30px #29262606;transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 30px #29262612}
.logo{display:block;width:clamp(9rem,13.5vw,12rem);flex:none}
.logo img{width:100%}
.desktop-nav{display:flex;align-items:center;gap:2rem;margin-left:auto;font-size:.95rem;font-weight:500}
.desktop-nav>a,.desktop-nav summary{padding:.6rem 0}
.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:.5rem;text-decoration-thickness:2px}
.service-menu{position:relative}
.service-menu summary{display:flex;align-items:center;gap:.7rem;list-style:none}
.service-menu summary::-webkit-details-marker{display:none}
.service-chevron{width:.45rem;height:.45rem;border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(45deg);margin-top:-.25rem}
.service-menu[open] .service-chevron{transform:rotate(225deg);margin-top:.25rem}
.service-submenu{position:absolute;top:calc(100% + .7rem);left:-1rem;min-width:17rem;padding:.6rem;background:white;border:1px solid var(--line);border-radius:1.3rem;box-shadow:0 12px 35px #29262614}
.service-submenu a{display:block;padding:.7rem 1rem;border-radius:.8rem;font-size:.95rem}
.service-submenu a:hover,.service-submenu a[aria-current=page]{background:var(--aqua)}
.ui-button,.card-link{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:3.2rem;padding:.85rem 1.6rem;max-width:100%;border:1px solid transparent;border-radius:999px;background:var(--coral);color:var(--ink);font:500 1rem/1.45 Poppins,sans-serif;text-align:center;text-decoration:none;transition:box-shadow .2s,background-color .2s,border-color .2s}
.ui-button:hover,.service-card:hover .card-link{box-shadow:inset 0 0 0 1px currentColor}
.ui-button>span{min-width:0}
.button-arrow{display:block;width:1.25rem;height:1.25rem;flex:0 0 1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ui-button:hover .button-arrow{transform:translateX(3px)}
.ui-button:active{transform:translateY(0);box-shadow:none}
.ui-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.header-contact{flex:none;padding:.8rem 1.4rem;min-height:3rem;font-size:.95rem}
.button-outline,.btn--teal,.line-link{background:var(--aqua)}
.card__link,.founder-linkedin{background:white}
.menu-toggle{display:none;position:relative;align-items:center;justify-content:center;flex:none;width:3rem;height:3rem;padding:0;border:0;border-radius:50%;background:var(--aqua)}
.menu-mark{position:relative;width:1.25rem;height:1.25rem}
.menu-mark:before,.menu-mark:after{content:'';position:absolute;left:0;right:0;height:2.5px;background:currentColor;border-radius:3px;top:.32rem;transition:transform .2s,top .2s}
.menu-mark:after{top:.82rem}
.menu-toggle[aria-expanded=true] .menu-mark:before{top:.55rem;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-mark:after{top:.55rem;transform:rotate(-45deg)}
.mobile-nav{position:absolute;top:calc(100% + .7rem);left:0;right:0;max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;padding:1.4rem;background:white;border-radius:1.5rem;box-shadow:0 18px 45px #29262620}
.menu-pages>a,.menu-pages>.service-menu>summary{display:flex;padding:1rem .35rem;font-size:1.4rem;line-height:1.35;border-bottom:1px solid var(--line)}
.menu-pages>.service-menu>summary{justify-content:space-between}
.mobile-nav .service-submenu{position:static;margin:.5rem 0;border:0;background:var(--aqua);box-shadow:none;min-width:0}
.mobile-nav .menu-contact{display:flex;background:var(--yellow);margin-top:1.2rem}
.menu-is-open{overflow:hidden}
.menu-is-open:after{content:'';position:fixed;inset:0;background:#29262640;z-index:40}

/* The continuous thread follows open spaces between content as the page scrolls. */
main{position:relative;isolation:isolate}
main section{position:relative;padding:var(--section-top) var(--gutter) var(--thread-space);scroll-margin-top:7rem;min-width:0}
main section>*{position:relative;z-index:2;min-width:0}
/* Continuous paper; section colours are used only by contained panels. */
main section[data-tone]{background:white;--panel-fill:var(--aqua);--panel-outline:var(--line)}
main section[data-tone=yellow]{--panel-fill:var(--yellow);--panel-outline:var(--line)}
main section[data-tone=pink]{--panel-fill:var(--pink);--panel-outline:var(--line)}
main section[data-tone=coral]{--panel-fill:var(--coral);--panel-outline:var(--line)}
.page-thread,.footer-thread{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}
.page-thread path,.footer-thread path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.section-number,.eyebrow{display:block;font-size:.875rem;line-height:1.5;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.2rem}
.wrap{width:100%;max-width:1280px;margin-inline:auto}
.stack>*+*{margin-top:1.6rem}
.center{text-align:center}
.prose,.method-prose{font-size:1.05rem;line-height:1.8;max-width:48rem}
.filu-content{width:4.7rem;margin:0 auto 1.5rem}
.filu-original{width:5rem;height:auto}

/* Photography stays open and generous; the thread never crosses a reading area. */
.hero,.business-hero,.page-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:5vw;align-items:center;padding-top:10rem}
.hero-content,.business-hero>div,.page-hero>.wrap{min-width:0}
.hero h1>span{display:block;font-size:clamp(1.75rem,2.75vw,3rem);font-weight:500;line-height:1.35}
.hero h1 strong{display:block;font-size:clamp(3rem,5.6vw,5.9rem);line-height:1.2;letter-spacing:-.055em;color:var(--coral);min-height:1.2em;font-weight:700}
.hero-body,.business-lead,.page-hero__sub{font-size:1.05rem;line-height:1.8;margin:1.8rem 0 0;max-width:36rem}
.home-scroll,.business-hero>div>.ui-button{margin-top:1.8rem}
.business-actions,.page-hero__cta,.contact-actions,.cta-final__btns{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:1.8rem}
.business-hero h1 strong,.page-hero h1 strong{color:var(--coral);font-weight:600}
.home-hero-photo,.opening-photo{position:relative;overflow:hidden;isolation:isolate;width:100%;height:clamp(26rem,37vw,35rem);border-radius:2rem}
.home-hero-photo{border-radius:45% 45% 1.75rem 1.75rem}
.home-hero-photo>img,.opening-photo>img{width:100%;height:100%;object-fit:cover}
.home-hero-photo figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;padding:.75rem 1rem;background:#fffffff0;border-radius:999px;font-size:.875rem;text-align:center;line-height:1.5}
.method-new-photo img{object-position:50% 52%}
.individual-page .page-hero h1{font-size:clamp(2.35rem,3.65vw,4rem)}
.tailor-page .business-hero h1{font-size:clamp(2.6rem,4.5vw,4.7rem)}

/* Homepage. */
.hub-copy{max-width:65rem;margin:auto;text-align:center;padding:clamp(1.8rem,4.5vw,4rem);background:var(--panel-fill);border:1px solid var(--panel-outline);border-radius:2.5rem}
.hub h2{font-size:clamp(2rem,3.45vw,3.6rem);line-height:1.35;font-weight:500}
.hub-copy>p:last-child{margin-top:1.6rem;font-size:1.1rem}
.section-heading{margin-bottom:2.5rem}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem}
.service-card{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--aqua);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s;min-width:0}
.service-card:hover{box-shadow:0 12px 30px #29262615}
.service-aqua{background:var(--yellow)}
.service-pink{background:var(--pink)}
.service-yellow{background:var(--orange)}
.service-photo{min-height:24rem;overflow:hidden}
.service-photo img{width:100%;height:100%;object-fit:cover}
.tailor-photo-hq img{transform:scale(1.36)}
.service-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.8rem}
.service-copy h3{font-size:clamp(1.4rem,1.8vw,1.8rem)}
.service-copy p{font-size:1rem;line-height:1.7}
.service-copy .card-link{margin-top:auto;background:white;padding:.8rem 1.1rem;font-size:.875rem}
.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:start}
.method-heading>p:not(.section-number){margin-top:1.5rem;font-size:1.05rem}
.method-heading .ui-button{margin-top:1.8rem;background:var(--yellow)}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.principles article{padding:2rem;background:var(--aqua);border-radius:var(--radius);min-width:0}
.principles article:nth-child(3n+2){background:var(--pink)}
.principles article:nth-child(3n){background:var(--yellow)}
.brand-symbol-original{width:3rem;height:3rem;object-fit:contain;margin-bottom:1.4rem}
.principles h3{font-size:1.5rem;margin-bottom:.75rem}
.principles p{line-height:1.65}

/* A consistent edge defines each card without dividing the page into bands. */
.service-card,.principles article,.offer-card,.approach-card,.teacher-card,.card,.process-grid li,.step,.skill-list,.profile-card{
 border:1px solid var(--panel-border);box-shadow:0 6px 24px #294d4806;
}
.profile-card>div:not(.profile-portrait){background:var(--aqua)}
.profile-card:nth-child(2)>div:not(.profile-portrait){background:var(--pink)}
/* Services and methodology. */
.offer-grid,.approach-cards,.teacher-cards,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;margin-top:2.5rem}
.offer-card,.approach-card,.teacher-card,.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:2rem;border-radius:var(--radius);background:var(--aqua);min-width:0}
.offer-card:nth-child(3n+2),.approach-card:nth-child(3n+2),.teacher-card:nth-child(3n+2),.card:nth-child(3n+2){background:var(--orange)}
.offer-card:nth-child(3n),.approach-card:nth-child(3n),.teacher-card:nth-child(3n),.card:nth-child(3n){background:var(--coral)}
.offer-card h3,.approach-card h3,.teacher-card h3,.card h3{margin-bottom:1rem}
.offer-card p,.approach-card p,.teacher-card p,.card p{font-size:1rem;line-height:1.8}
.offer-card .section-number{margin-bottom:2rem;background:#ffffffb0;padding:.55rem .7rem;letter-spacing:0;border-radius:50%}
.card .ui-button{margin-top:1.6rem}
.card p+.ui-button{margin-top:auto}
.card p:has(+.ui-button){margin-bottom:1.6rem}
.cards:has(>.card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.business-process,.school-process>.wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:6vw;align-items:start}
.process-introduction .method-prose{margin-top:1.5rem}
.process-grid,.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;list-style:none;margin:0;padding:0;position:relative}
.process-grid li,.step{display:flex;flex-direction:column;gap:1.3rem;background:var(--aqua);border-radius:var(--radius);padding:1.7rem;min-width:0}
.process-grid li>span,.step__n{display:grid;place-items:center;align-self:flex-start;width:2.8rem;height:2.8rem;background:var(--aqua);border-radius:50%;font-size:1rem;font-weight:600;line-height:1}
.process-grid li:nth-child(2)>span,.step:nth-child(2) .step__n{background:var(--orange)}
.process-grid li:nth-child(3)>span,.step:nth-child(3) .step__n{background:var(--pink)}
.process-grid li:nth-child(4)>span,.step:nth-child(4) .step__n{background:var(--coral)}
.process-grid p,.step p{font-size:1rem;line-height:1.75}
.business-why,.school-reason>.reveal{display:grid;grid-template-columns:.88fr 1.12fr;gap:0 6vw}
.business-why h2,.school-reason h2{grid-column:1;grid-row:1/3}
.business-why p,.school-reason .prose{grid-column:2;max-width:42rem;font-size:1.05rem;line-height:1.85}
.business-why p+p{margin-top:1.25rem}
.approach-manifesto{max-width:52rem;margin:0 auto 4.5rem}
.approach-manifesto .approach-opening{font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.45;font-weight:500;letter-spacing:-.035em;margin-bottom:1.7rem}
.approach-manifesto>p:not(.section-number):not(.approach-opening){font-size:1.05rem;line-height:1.85}
.approach-heading{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.approach-card h3{padding-top:.4rem;border-top:6px solid var(--aqua)}
.approach-card:nth-child(2) h3{border-color:var(--pink)}
.approach-card:nth-child(3) h3{border-color:var(--orange)}
.method-page .business-offers>.method-prose{margin-top:1.5rem}


/* The competence map: three linked circles, each holding a meaningful family. */
.business-skills{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5vw;align-items:center}
.skills-copy>p:last-child{font-size:1.05rem;margin-top:1.4rem;max-width:34rem;line-height:1.8}
.skills-photo{border-radius:1.8rem;overflow:hidden}
.skills-photo img{width:100%;height:23rem;object-fit:cover}
.skills-map{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;position:relative;padding-top:1rem}
.skills-map>.skills-connection{position:absolute;left:0;top:5.7rem;width:100%;height:7rem;pointer-events:none;z-index:0;fill:none;stroke:var(--aqua);stroke-width:6;stroke-linecap:round}
.skill-cluster{--cluster-color:var(--coral);position:relative;z-index:1;min-width:0}
.skill-cluster:nth-of-type(2){--cluster-color:var(--yellow);padding-top:3rem}
.skill-cluster:nth-of-type(3){--cluster-color:var(--pink)}
.skill-orbit{display:grid;place-items:center;position:relative;width:clamp(10rem,15vw,13rem);height:clamp(10rem,15vw,13rem);margin:0 auto 1.6rem;padding:1.5rem;border-radius:50%;background:var(--cluster-color);text-align:center}
.skill-orbit h3{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15;letter-spacing:-.04em}
.skill-orbit:after{content:'';position:absolute;right:-.3rem;top:1rem;width:1.25rem;height:1.25rem;border-radius:50%;background:white;border:4px solid white}
.skill-cluster:nth-of-type(2) .skill-orbit:after{left:.3rem;right:auto;top:auto;bottom:.3rem;width:1.6rem;height:1.6rem}
.skill-cluster:nth-of-type(3) .skill-orbit:after{right:.4rem;top:auto;bottom:.2rem}
.skill-list{list-style:none;margin:0;padding:1rem 1.4rem;background:white;border-radius:1.5rem}
.skill-list li{display:flex;align-items:center;gap:.85rem;padding:.9rem 0;line-height:1.5;font-size:1rem;min-width:0}
.skill-list li+li{border-top:1px solid var(--line)}
.skill-list li:before{content:'';width:.65rem;height:.65rem;border-radius:50%;background:var(--cluster-color);flex:none}
.method-tags,.tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem;list-style:none;padding:0;margin:2.5rem 0 0}
.method-tags li,.tags li{display:flex;align-items:center;gap:1rem;padding:1.2rem 1rem 1.2rem 0;font-size:1.05rem;line-height:1.45;min-width:0;border-bottom:1px solid var(--line)}
.method-tags li:before,.tags li:before{content:'';display:block;flex:0 0 2.5rem;height:2.5rem;border-radius:50%;background:var(--coral)}
.method-tags li:nth-child(4n+2):before,.tags li:nth-child(4n+2):before{background:var(--yellow)}
.method-tags li:nth-child(4n+3):before,.tags li:nth-child(4n+3):before{background:var(--pink)}
.method-tags li:nth-child(4n):before,.tags li:nth-child(4n):before{background:var(--orange)}

/* Schools and individual journeys. */
.school-page #a-chi .section-title{max-width:57rem;margin:0 auto}
.school-page #a-chi .cards{margin-top:3rem}
.card .filu-original{margin-bottom:1.5rem}
.education-photo{margin-top:3rem;border-radius:1.8rem;overflow:hidden;background:var(--yellow);width:min(100%,54rem);margin-inline:auto}
.education-photo img{width:100%;height:auto;max-height:32rem;object-fit:cover}
.education-photo figcaption{padding:1rem 1.4rem;font-size:.875rem;line-height:1.6}
.teacher-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:start}
.teacher-intro{font-size:1.05rem;max-width:42rem}
.teacher-index{display:grid;place-items:center;width:2.75rem;height:2.75rem;background:#fff;border-radius:50%;margin-bottom:1.7rem;font-size:1rem;font-weight:500}
.teacher-training .teacher-card{background:var(--aqua)}
.teacher-training .teacher-card:nth-child(2){background:var(--pink)}
.teacher-training .teacher-card:nth-child(3){background:var(--yellow)}
.teacher-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem}
.teacher-bottom>div{max-width:44rem}
.teacher-bottom .ui-button{flex:none}
.manifesto{max-width:55rem;margin:0 auto}
.manifesto__big{font-size:clamp(1.9rem,3.4vw,3.3rem);line-height:1.4;letter-spacing:-.045em;max-width:49rem}
.manifesto__note{margin-top:1.8rem}

/* About. */
.about-hero{text-align:center;padding-top:12rem}
.about-hero-copy{max-width:70rem;margin:auto}
.about-hero h1{font-size:clamp(3rem,6.6vw,6.6rem);line-height:1.1;letter-spacing:-.055em}
.about-hero h1 em{color:var(--coral)}
.about-hero-description{max-width:39rem;margin:2rem auto 0;font-size:1.1rem;line-height:1.8}
.about-manifesto{text-align:center}
.about-manifesto h2{max-width:62rem;margin:auto;line-height:1.4;font-weight:500}
.about-manifesto .ui-button{margin-top:2rem}
.about-people-panel{position:relative}
.about-founders{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}
.founders-couple{border-radius:2rem;overflow:hidden;height:38rem}
.founders-couple img{width:100%;height:100%;object-fit:cover}
.founders-lead{margin-top:1.6rem;font-size:1.05rem}
.philosophy-note{background:var(--yellow);border:1px solid var(--line);padding:1.8rem;border-radius:var(--radius);margin-top:2rem}
.philosophy-note h3{font-size:1.4rem;margin-bottom:.8rem}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:65rem;margin:auto}
.profile-card{background:white;border-radius:1.8rem;overflow:hidden}
.profile-portrait{aspect-ratio:3/2;overflow:hidden}
.profile-portrait img{width:100%;height:100%;object-fit:cover}
.profile-card:nth-child(2) .profile-portrait img{transform:scale(1.5);transform-origin:50% 26%}
.profile-card>div:not(.profile-portrait){padding:1.8rem}
.profile-card>div>p{font-size:.875rem;margin-bottom:.5rem}
.profile-card h3{font-size:1.8rem}
.profile-card .founder-linkedin{margin-top:1.4rem;background:var(--yellow);min-height:2.8rem;padding:.7rem 1.3rem;font-size:.9rem}
.about-method-strip{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.about-method-strip p{max-width:50rem;margin-top:1.5rem;font-size:1.05rem}
.about-method-strip .ui-button{background:var(--aqua)}

/* Testimony and questions, with round touch controls. */
.reviews{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem 6vw;align-items:start}
.reviews-heading h2{max-width:7em}
.reviews-window{min-width:0;padding:clamp(1.5rem,3vw,2.75rem);background:var(--yellow);border:1px solid var(--line);border-radius:2rem}
.review-slide{margin:0}
.review-quote-mark{display:none}
.review-slide p{font-size:clamp(1.3rem,2vw,1.85rem);font-weight:500;line-height:1.6;letter-spacing:-.02em;max-width:50rem}
.review-slide p:before{content:'“';display:inline;color:var(--coral);font-size:1.5em;line-height:.7;vertical-align:-.12em;margin-right:.05em}
.review-slide p:after{content:'”';color:var(--coral)}
.review-slide cite{display:block;font-style:normal;font-size:1rem;line-height:1.7;margin-top:1.6rem}
.review-controls{grid-column:2;display:flex;align-items:center;gap:.65rem;margin-top:.4rem;flex-wrap:wrap}
.review-controls>button{display:grid;place-items:center;width:3.1rem;height:3.1rem;flex:none;background:var(--aqua);padding:0;border:0;border-radius:50%;transition:background-color .2s}
.review-controls>button:hover{background:var(--coral)}
.review-controls svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.review-controls .chevron-previous{transform:rotate(180deg)}
.review-dots{display:flex;gap:0;margin-left:.5rem}
.review-dots button{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;background:transparent;padding:0;border-radius:50%}
.review-dots button:before{content:'';display:block;width:.5rem;height:.5rem;background:var(--ink);opacity:.3;border-radius:50%;transition:width .15s,height .15s}
.review-dots button[aria-pressed=true]:before{width:.9rem;height:.9rem;opacity:1;background:var(--coral)}
/* Reference FAQ: turquoise pills, generous spacing and a simple chevron. */
.shared-faq{display:block}
.shared-faq .faq-heading,.shared-faq .accordion{max-width:68rem;margin-inline:auto}
.shared-faq .faq-heading{margin-bottom:2.2rem}
.accordion{display:grid;gap:1rem;min-width:0}
.accordion details{padding:0 2rem;border:0;border-radius:3.5rem;background:var(--aqua);overflow:hidden}
.accordion details[open]{border-radius:2rem}
.accordion summary{display:grid;grid-template-columns:minmax(0,1fr) 1.25rem;gap:1.5rem;align-items:center;list-style:none;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;line-height:1.65;padding:1.35rem 0}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary span{display:block;width:.75rem;height:.75rem;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:none;border-radius:0;justify-self:center;transform:rotate(45deg);margin-top:-.4rem;transition:transform .2s}
.accordion details[open] summary span{transform:rotate(225deg);margin-top:.4rem}
.accordion details>p{padding:0 0 1.8rem;font-size:1rem;line-height:1.8;max-width:58rem}

/* The orange closing banner has the wavy top and footer join in the reference. */
main section:is(.contact,.about-cta,.cta-final){background:var(--orange);text-align:center;padding-top:7rem;padding-bottom:9rem}
.contact-copy,.cta-final>.wrap{max-width:65rem;margin-inline:auto;padding:0;background:none;border:0;border-radius:0}
.contact h2,.about-cta h2,.cta-final h2{font-size:clamp(2.1rem,4.1vw,4.2rem);font-weight:700;line-height:1.2;color:white;max-width:56rem;margin-inline:auto}
.contact-copy>p,.about-cta .contact-copy>p,.cta-final__sub{margin:1.5rem auto 0;max-width:44rem;font-size:1.1rem;line-height:1.8}
.contact-actions,.cta-final__btns{justify-content:center}
.contact .ui-button,.about-cta .ui-button,.cta-final .ui-button{background:var(--aqua);color:var(--ink)}
.banner-wave{position:absolute;left:0;right:0;width:100%;height:clamp(2rem,5vw,4.5rem);z-index:0;pointer-events:none;display:block}
.banner-wave path{fill:currentColor}
.banner-wave-top{top:-1px;color:white}
.banner-wave-bottom{bottom:-1px;color:var(--coral)}

/* Contact page: retained form and its current availability. */
.contact-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem 6vw;align-items:center;padding-top:10rem}
.contact-heading>h1,.contact-heading>p{grid-column:1}
.contact-heading>.section-number{margin:0}
.contact-heading h1{font-size:clamp(3rem,5.5vw,5.6rem);color:var(--coral)}
.contact-heading>p:not(.section-number){font-size:1.05rem;max-width:43rem;margin:0}
.contact-brand-mark{grid-column:2;grid-row:1/5;width:100%;max-width:20rem;justify-self:center}
.contact-layout form{max-width:54rem;margin:auto;padding:clamp(1.5rem,4vw,3.5rem);background:white;border:1px solid var(--panel-border);box-shadow:0 10px 40px #294d4810;border-radius:2rem}
.form-intro{font-size:clamp(1.7rem,3vw,2.5rem)}
.form-help{font-size:.875rem;margin-top:.8rem}
.form-heading{margin-bottom:2rem}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem;margin-bottom:1.5rem}
.form-field{min-width:0}
.contact-layout label{display:block;font-size:1rem;font-weight:500;margin-bottom:.55rem;line-height:1.6}
.contact-layout label small{font-size:.875rem;font-weight:400}
.contact-layout :is(input,select,textarea){display:block;width:100%;max-width:100%;min-width:0;border:1px solid #8f8585;border-radius:.8rem;background:white;padding:.85rem 1rem;line-height:1.5;font-size:1rem}
.contact-layout select{margin-bottom:1.5rem}
.contact-layout textarea{resize:vertical;min-height:12rem}
.contact-layout :is(input,select,textarea):focus{outline:2px solid #257672;outline-offset:2px}
.contact-availability{margin:1.5rem 0;font-size:1rem}
.contact-availability a{font-weight:500;text-decoration:underline;text-underline-offset:.2em}
#draft-status:empty{display:none}

/* Footer: the original white wordmark and the continuation of the page thread. */
footer{position:relative;isolation:isolate;background:var(--coral);padding:5rem var(--gutter) 2rem;overflow:hidden}
.footer-main,.footer-legal{position:relative;z-index:2}
.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6vw}
.footer-logo{width:clamp(13rem,24vw,20rem);margin:0 0 1.2rem;padding:0;background:none;filter:none}
.footer-brand p{font-size:1rem;line-height:1.8}
footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:.8rem 2rem;font-size:1.05rem;font-weight:500}
footer nav a{justify-self:start;padding:.2rem 0}
footer nav a:hover,footer nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.3em}
.footer-email{display:inline-block;margin-top:1.5rem;font-size:1.05rem;text-decoration:underline;text-underline-offset:.3em;font-weight:500}
.footer-legal{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;border-top:1px solid #29262650;padding-top:1.5rem;margin-top:8.5rem;font-size:.875rem;line-height:1.9}
.footer-legal p{margin:0}
.footer-legal .copyright{flex:none}
.footer-thread{z-index:1}

/* Reduced motion also leaves the complete thread visible without animation. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s ease var(--reveal-delay,0ms)}
  .motion-ready .reveal.visible{opacity:1;transform:none}
}
@media(min-width:1700px){.site-header{left:var(--gutter);right:var(--gutter)}}
@media(max-width:1100px){
  .site-header{gap:1.5rem}.desktop-nav{gap:1.35rem}
  .service-card{grid-template-columns:1fr}.service-photo{height:19rem;min-height:0}.service-copy{min-height:18rem}
  .hero,.business-hero,.page-hero{gap:3.5vw}
  .offer-card,.card,.teacher-card{padding:1.6rem}
  .method{grid-template-columns:1fr;gap:2.5rem}.method-heading{max-width:48rem}.principles article:nth-child(even){margin:0}
  .business-process,.school-process>.wrap{grid-template-columns:1fr;gap:2.5rem}
  .reviews,.shared-faq{grid-template-columns:.7fr 1.3fr;gap:2.5rem}
  .skill-list{padding:.7rem 1.1rem}.skills-map{gap:1.1rem}
}
@media(max-width:980px){
  .desktop-nav{display:none}.site-header{gap:.85rem}.site-header .logo{margin-right:auto}.menu-toggle{display:flex}
  .offer-grid,.approach-cards,.teacher-cards{grid-template-columns:1fr}
  .offer-card,.approach-card,.teacher-card{padding:2rem}
  .teacher-cards .teacher-card{display:grid;grid-template-columns:3rem 1fr;gap:0 1.5rem}.teacher-card .teacher-index{grid-row:1/3}.teacher-card p{grid-column:2}
  .skills-map{gap:1rem}.skill-orbit{width:10rem;height:10rem}
  .business-why,.school-reason>.reveal{gap:0 3rem}
}
@media(max-width:750px){
  :root{--gutter:7vw;--section-top:3rem;--thread-space:7rem;--radius:1.5rem}
  h1{font-size:clamp(2.3rem,7vw,3.8rem)}h2,.section-title{font-size:clamp(2rem,6.4vw,3rem)}
  .site-header{inset:.8rem 4vw auto;padding:.65rem .75rem .65rem 1rem;gap:.65rem}.site-header .logo{width:clamp(7rem,27vw,10rem)}
  .header-contact{font-size:.875rem;padding:.65rem 1rem;min-height:2.75rem}.menu-toggle{width:2.75rem;height:2.75rem}
  .hero,.business-hero,.page-hero{grid-template-columns:1fr;gap:2.5rem;padding-top:8rem}
  .hero h1>span{font-size:clamp(1.5rem,5.5vw,2.7rem)}.hero h1 strong{font-size:clamp(2.5rem,9.7vw,4.8rem)}
  .hero-body,.business-lead,.page-hero__sub{font-size:1rem;margin-top:1.5rem}
  .home-hero-photo,.opening-photo{height:27rem;max-height:110vw;border-radius:1.6rem}.home-hero-photo{border-radius:40% 40% 1.5rem 1.5rem}
  .home-hero-photo figcaption{font-size:.875rem;left:.9rem;right:.9rem;bottom:.9rem;padding:.7rem .85rem}
  .individual-page .page-hero h1{font-size:clamp(2.3rem,7vw,3.6rem)}
  .hub h2{font-size:clamp(1.9rem,6.3vw,2.9rem)}.hub-copy>p:last-child{font-size:1rem}
  .service-grid{gap:1.2rem}.service-copy{padding:1.4rem}.service-copy h3{font-size:1.5rem}.service-photo{height:16rem}
  .principles{gap:1rem}.principles article{padding:1.5rem}.principles h3{font-size:1.4rem}
  .business-why,.school-reason>.reveal{display:block}.business-why h2,.school-reason h2{margin-bottom:1.8rem}
  .business-why p,.school-reason .prose{font-size:1rem}
  .business-skills{grid-template-columns:1fr;gap:2.2rem}.skills-copy>p:last-child{font-size:1rem}
  .skills-photo img{height:22rem}.skills-map{grid-template-columns:1fr;gap:2rem;margin-top:.5rem}
  .skills-map>.skills-connection{display:none}
  .skill-cluster,.skill-cluster:nth-of-type(2){display:grid;grid-template-columns:8rem 1fr;gap:1.2rem;align-items:start;padding:0}
  .skill-cluster:before{content:'';position:absolute;left:4rem;top:5rem;bottom:-3rem;border-left:5px solid var(--aqua);z-index:-1}
  .skill-cluster:last-child:before{display:none}
  .skill-orbit{width:8rem;height:8rem;padding:1rem;margin:0}.skill-orbit h3{font-size:1.2rem}.skill-orbit:after{width:1rem;height:1rem}
  .skill-list{padding:.4rem 1.1rem;border-radius:1.2rem}.skill-list li{font-size:1rem;gap:.65rem}
  .method-tags,.tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.25rem}.method-tags li,.tags li{font-size:1rem;gap:.75rem}.method-tags li:before,.tags li:before{flex-basis:1.8rem;height:1.8rem}
  .approach-heading,.teacher-heading{grid-template-columns:1fr;gap:1.5rem}.approach-manifesto{margin-bottom:3rem}
  .cards{grid-template-columns:1fr;gap:1.2rem}.cards:has(>.card:nth-child(2):last-child){grid-template-columns:1fr}
  .teacher-bottom{flex-direction:column;align-items:flex-start;gap:1.5rem}.teacher-cards .teacher-card{display:flex;gap:0}
  .about-hero{padding-top:9rem}.about-hero h1{font-size:clamp(2.8rem,8.5vw,4.6rem)}.about-hero-description{font-size:1rem;margin-top:1.6rem}
  .about-manifesto h2{font-size:clamp(1.8rem,6vw,2.8rem)}
  .about-founders{grid-template-columns:1fr;gap:2.5rem}.founders-couple{height:31rem;max-height:120vw}
  .founders-intro{max-width:42rem}.profile-grid{gap:1.2rem}.profile-card h3{font-size:1.4rem}.profile-card>div:not(.profile-portrait){padding:1.35rem}
  .about-method-strip{grid-template-columns:1fr;gap:2rem}.about-method-strip .ui-button{justify-self:start}
  .reviews,.shared-faq{grid-template-columns:1fr;gap:2.2rem}.reviews-heading h2{max-width:none}.reviews-window{min-height:0}.review-controls{grid-column:1;margin:0}
  .review-slide p{font-size:1.3rem}.review-slide cite{font-size:.95rem}
  .accordion details{padding:0 1.5rem;border-radius:3rem}.accordion summary{font-size:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) 1rem;padding:1.2rem 0}.accordion summary span{width:.65rem;height:.65rem;border-width:2.5px}.shared-faq .faq-heading{margin-bottom:1.8rem}
  main section:is(.contact,.about-cta,.cta-final){padding-top:5rem;padding-bottom:6rem}
  .contact-copy>p,.about-cta .contact-copy>p,.cta-final__sub{font-size:1rem}.contact h2,.about-cta h2,.cta-final h2{font-size:clamp(2rem,7vw,3rem)}
  .contact-heading{grid-template-columns:1fr;padding-top:8rem;gap:1.4rem}.contact-heading h1{font-size:clamp(2.8rem,9vw,4.5rem)}
  .contact-brand-mark{grid-column:1;grid-row:auto;width:7rem;justify-self:start;order:5}.contact-heading>p:not(.section-number){font-size:1rem}
  .contact-fields{grid-template-columns:1fr;gap:1.2rem}.contact-layout form{padding:1.5rem;border-radius:1.5rem}
  footer{padding-top:3.5rem}.footer-main{gap:2rem;grid-template-columns:1fr}.footer-logo{width:15rem}
  footer nav{gap:.7rem 1.5rem;font-size:1rem}.footer-email{font-size:1rem}
  .footer-legal{display:block;margin-top:7rem;font-size:.875rem}.footer-legal .copyright{margin-top:1rem}
}
@media(max-width:520px){
  .service-grid,.principles,.profile-grid{grid-template-columns:1fr}.service-photo{height:19rem}.service-copy{padding:1.6rem;min-height:0}.service-copy h3{font-size:1.7rem}.service-copy .card-link{margin-top:.6rem}
  .principles article{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem}.brand-symbol-original{width:2.5rem;height:2.5rem;margin:0}
  .process-grid,.steps{grid-template-columns:1fr}.process-grid li,.step{display:grid;grid-template-columns:2.8rem 1fr;gap:1rem;padding:1.5rem}
  .skill-cluster,.skill-cluster:nth-of-type(2){grid-template-columns:1fr;gap:1rem;padding-left:1rem}.skill-orbit{width:9rem;height:9rem;margin-left:.5rem}.skill-orbit h3{font-size:1.3rem}
  .skill-cluster:before{left:2.7rem;top:6rem;bottom:-5rem}.skill-list{margin-left:1.7rem;padding:.45rem 1.15rem}
  .method-tags,.tags{grid-template-columns:1fr}.method-tags li,.tags li{padding:.9rem 0}.method-tags li:before,.tags li:before{flex-basis:2rem;height:2rem}
  .profile-card h3{font-size:1.7rem}.profile-card>div:not(.profile-portrait){padding:1.7rem}
}
@media(max-width:360px){
  .site-header{gap:.45rem;padding-left:.8rem}.site-header .logo{width:6.3rem}.header-contact{padding:.65rem .75rem;font-size:.875rem}
  .ui-button{padding:.85rem 1.2rem}.contact-actions>.ui-button,.cta-final__btns>.ui-button{width:100%}
  .offer-card,.teacher-card,.approach-card,.card{padding:1.5rem}.review-controls{gap:.3rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Original brand colours on the four existing process cards. */
.process-grid li:nth-child(2),.step:nth-child(2){background:var(--yellow)}
.process-grid li:nth-child(3),.step:nth-child(3){background:var(--pink)}
.process-grid li:nth-child(4),.step:nth-child(4){background:var(--orange)}
.process-grid li:nth-child(n)>span,.step:nth-child(n) .step__n{background:white}
.profile-card>div:not(.profile-portrait),.profile-card:nth-child(2)>div:not(.profile-portrait){background:white}
/* Icons occupy the same coloured circles as before. */
.method-tags li:has(.competency-icon):before,.tags li:has(.competency-icon):before,.skill-list li:has(.competency-icon):before{display:none}
.competency-icon{display:grid;place-items:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--coral)}
.competency-icon img{width:1.4rem;height:1.4rem;object-fit:contain}
:is(.method-tags,.tags) li:nth-child(4n+2) .competency-icon{background:var(--yellow)}
:is(.method-tags,.tags) li:nth-child(4n+3) .competency-icon{background:var(--pink)}
:is(.method-tags,.tags) li:nth-child(4n) .competency-icon{background:var(--orange)}
.skill-list .competency-icon{flex-basis:2rem;width:2rem;height:2rem;background:var(--cluster-color)}
.skill-list .competency-icon img{width:1.2rem;height:1.2rem}
.skill-orbit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem}
.skill-orbit>.cluster-icon{width:2.15rem;height:2.15rem;object-fit:contain;flex:none}

/* The reference's rounded cards, generous icons and connected circles. */
.service-copy .service-arrow{width:3.6rem;height:3.6rem;min-height:3.6rem;flex:none;align-self:flex-end;padding:0;border-radius:50%;margin-top:auto;background:white}
.service-arrow svg{width:1.7rem;height:1.7rem;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.service-card:hover .service-arrow{transform:none;box-shadow:inset 0 0 0 1px var(--ink)}
.service-arrow svg{transition:transform .2s}
.service-card:hover .service-arrow svg{transform:translateX(3px)}
.editorial-icon,.teacher-icon,.approach-icon{display:grid;place-items:center;flex:none;width:4.75rem;height:4.75rem}
.editorial-icon{border-radius:50%;background:white}
.editorial-icon img,.teacher-icon img,.approach-icon img{width:3.1rem;height:3.1rem;object-fit:contain}
.teacher-cards .teacher-card{display:flex;gap:0;border-radius:2.2rem}
.teacher-icon{margin-bottom:1.8rem;justify-items:start}
.teacher-icon img{width:3.7rem;height:3.7rem}
.teacher-card p{grid-column:auto}

/* One collection of skills, with the same visual weight for every competency. */
.competence-cloud{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;list-style:none;padding:0;margin:1rem 0 0;align-items:start}
.competence-cloud>li{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:1.4rem;border-radius:50%;background:var(--aqua);font-size:clamp(1rem,1.35vw,1.2rem);font-weight:500;line-height:1.4;text-align:center;min-width:0}
.competence-cloud>li:nth-child(5n+2){background:var(--yellow)}
.competence-cloud>li:nth-child(5n+3){background:var(--pink)}
.competence-cloud>li:nth-child(5n+4){background:var(--orange)}
.competence-cloud>li:nth-child(5n){background:var(--coral)}
.competence-cloud .competency-icon{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;background:none;border-radius:0}
.competence-cloud .competency-icon img{width:2.1rem;height:2.1rem}
.competence-cloud li>span:last-child{max-width:12rem;text-wrap:balance}

/* About: a real portrait, a shared manifesto and warm, distinct founder cards. */
.about-hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:5vw;text-align:left;padding-top:10rem;padding-bottom:6rem}
.about-hero-copy{max-width:none;margin:0}
.about-hero h1{font-size:clamp(2.8rem,5vw,5.1rem);line-height:1.16}
.about-hero-description{margin:1.8rem 0 0;max-width:34rem}
.about-hero-photo{position:relative;height:clamp(28rem,43vw,38rem);border:12px solid var(--aqua);border-radius:3rem 7rem 3rem 3rem;overflow:hidden;background:var(--aqua)}
.about-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.about-hero-photo figcaption{position:absolute;bottom:1.2rem;left:1rem;right:1rem;padding:.75rem 1rem;border-radius:999px;background:white;font-size:.875rem;text-align:center;line-height:1.5}
.about-manifesto{text-align:left;padding-top:2rem;padding-bottom:6rem}
.manifesto-panel{display:grid;grid-template-columns:auto 1fr;gap:2.25rem;padding:clamp(2rem,4vw,4rem);border-radius:3rem 3rem 3rem .8rem;background:var(--aqua);max-width:78rem;margin:auto}
.manifesto-panel h2{font-size:clamp(1.85rem,2.9vw,3rem);line-height:1.4;max-width:none}
.manifesto-panel .ui-button{background:white;margin-top:1.7rem}
.about-founders{grid-template-columns:1fr 1.05fr;gap:5vw;align-items:center;padding-bottom:3rem}
.founders-intro{padding:.8rem 0}
.founders-lead{max-width:32rem}
.philosophy-note{position:relative;margin:0;padding:2.6rem;background:var(--pink);border:0;border-radius:2.5rem 2.5rem .8rem 2.5rem}
.philosophy-note .editorial-icon{margin-bottom:1.5rem}
.philosophy-note h3{font-size:1.65rem;margin-bottom:1rem}
.founder-profiles{padding-top:2rem;padding-bottom:6rem}
.profile-grid-colour{max-width:none;gap:2rem}
.profile-grid-colour .profile-card{padding:1.1rem;border:0;border-radius:2.4rem;background:var(--aqua);box-shadow:none}
.profile-grid-colour .profile-card:nth-child(2){background:var(--pink)}
.profile-grid-colour .profile-card>div:not(.profile-portrait){background:transparent;padding:1.6rem .8rem .8rem}
.profile-grid-colour .profile-portrait{aspect-ratio:1.35;border-radius:1.6rem;overflow:hidden}
.profile-grid-colour .profile-portrait img{object-position:65% 40%}
.profile-grid-colour .profile-card:nth-child(2) .profile-portrait img{transform:scale(1.25);transform-origin:50% 35%;object-position:50% 40%}
.profile-grid-colour .profile-card h3{font-size:clamp(1.6rem,2.4vw,2.2rem)}
.profile-grid-colour .founder-linkedin{background:white}
.about-method-strip{display:block;padding-top:1rem}
.about-method-panel{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;padding:3rem;background:var(--yellow);border-radius:2.5rem}
.about-method-panel h2{font-size:clamp(1.9rem,2.7vw,2.8rem)}
.about-method-panel p{font-size:1rem;margin-top:1.3rem;max-width:45rem}
.about-method-panel .ui-button{background:white}

/* Method: an open conversation, followed by three illustrated experience cards. */
.approach-manifesto{display:grid;grid-template-columns:.95fr 1.05fr;gap:5vw;max-width:none;margin:0 0 5rem;align-items:start}
.approach-intro h2{margin-bottom:2rem}
.approach-manifesto .approach-opening{font-size:clamp(1.65rem,2.7vw,2.7rem);line-height:1.45;font-weight:500;letter-spacing:-.035em;padding:2rem;background:var(--yellow);border-radius:2.2rem .7rem 2.2rem 2.2rem;margin:0}
.approach-opening strong{font-weight:600}
.approach-story{display:grid;gap:1.2rem;padding-top:.6rem}
.approach-story>p{margin:0;padding:1.8rem 2rem;background:var(--aqua);border-radius:2rem 2rem 2rem .6rem;font-size:1rem;line-height:1.8}
.approach-story>p:nth-child(2){background:var(--pink);margin-left:2rem;border-radius:2rem .6rem 2rem 2rem}
.approach-story>p:nth-child(3){background:white;border:1px solid var(--line);margin-right:1rem}
.approach-cards{gap:1.5rem;align-items:start}
.approach-card{min-height:25rem;padding:2.1rem;border-radius:2.4rem}
.approach-card:nth-child(2){margin-top:2rem;background:var(--pink)}
.approach-card:nth-child(3){margin-top:4rem;background:var(--orange)}
.approach-icon{justify-items:start;margin-bottom:2.3rem}
.approach-icon img{width:4rem;height:4rem}
.approach-card h3{padding:0;border:0;font-size:1.8rem;margin-bottom:1.2rem}
.contact-heading h1{color:var(--ink)}

/* A soft line sits behind the content, crossing freely through the composition. */
.page-thread{opacity:.5}
.footer-thread{opacity:.8}
.page-thread path,.footer-thread path{will-change:stroke-dashoffset}
@media(max-width:1100px){
 .competence-cloud{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
 .about-method-panel{grid-template-columns:auto 1fr}.about-method-panel>.ui-button{grid-column:2;justify-self:start}
}
@media(max-width:980px){
 .approach-manifesto{grid-template-columns:1fr;gap:2rem}.approach-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:center}.approach-intro h2{margin:0}
 .approach-story{grid-template-columns:1fr}.approach-story>p:nth-child(2){margin-left:8%}.approach-story>p:nth-child(3){margin-right:8%}
 .approach-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.approach-card{padding:1.5rem;min-height:0}.approach-card h3{font-size:1.6rem}
 .manifesto-panel{gap:1.5rem;grid-template-columns:1fr}.manifesto-panel .editorial-icon{width:4.2rem;height:4.2rem}
 .about-founders{gap:2rem}.philosophy-note{padding:2rem}
}
@media(max-width:750px){
 .service-copy .service-arrow{width:3.4rem;height:3.4rem;min-height:3.4rem;margin-top:.5rem}
 .competence-cloud{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}
 .competence-cloud>li{padding:1rem;gap:.65rem;font-size:clamp(.95rem,2.8vw,1.2rem);line-height:1.35}
 .competence-cloud .competency-icon{width:2rem;height:2rem;flex-basis:2rem}.competence-cloud .competency-icon img{width:1.8rem;height:1.8rem}
 .about-hero{grid-template-columns:1fr;padding-top:8.5rem;padding-bottom:3rem;gap:2rem}.about-hero h1{font-size:clamp(2.8rem,8.5vw,4.6rem)}
 .about-hero-photo{height:auto;aspect-ratio:1;border-width:9px;border-radius:2rem 5rem 2rem 2rem}.about-hero-description{margin-top:1.5rem}
 .about-manifesto{padding-top:2rem;padding-bottom:3rem}.manifesto-panel{padding:1.7rem;border-radius:2rem 2rem 2rem .7rem;gap:1rem}.manifesto-panel h2{font-size:clamp(1.6rem,5.5vw,2.5rem);line-height:1.4}
 .about-founders{grid-template-columns:1fr;padding-top:2rem;padding-bottom:2rem;gap:1.7rem}.philosophy-note{padding:1.8rem;border-radius:2rem 2rem .7rem 2rem}
 .founder-profiles{padding-top:1rem;padding-bottom:4rem}.profile-grid-colour{grid-template-columns:1fr;gap:1.5rem}.profile-grid-colour .profile-card{padding:.9rem;border-radius:2rem}.profile-grid-colour .profile-card>div:not(.profile-portrait){padding:1.2rem .6rem .6rem}
 .profile-grid-colour .profile-card h3{font-size:1.85rem}.profile-grid-colour .profile-portrait{aspect-ratio:1.3}
 .about-method-panel{grid-template-columns:1fr;gap:1.4rem;padding:1.8rem;border-radius:2rem}.about-method-panel>.ui-button{grid-column:auto}.about-method-panel p{margin-top:1rem}
 .approach-intro{display:block}.approach-intro h2{margin-bottom:1.5rem}.approach-manifesto .approach-opening{padding:1.6rem;font-size:1.75rem;line-height:1.4}
 .approach-story{gap:1rem}.approach-story>p{padding:1.5rem;border-radius:1.7rem 1.7rem 1.7rem .5rem}.approach-story>p:nth-child(2){margin-left:1rem}.approach-story>p:nth-child(3){margin-right:1rem}
 .approach-manifesto{margin-bottom:3.5rem}.approach-cards{grid-template-columns:1fr;gap:1.2rem}.approach-card,.approach-card:nth-child(2),.approach-card:nth-child(3){margin-top:0;padding:1.8rem;border-radius:2rem}.approach-icon{margin-bottom:1.3rem}
 .teacher-cards .teacher-card{padding:1.8rem}.teacher-icon{margin-bottom:1rem}
}
@media(max-width:380px){
 .competence-cloud>li{padding:.65rem;gap:.35rem;font-size:.875rem;line-height:1.3}
 .competence-cloud .competency-icon{width:1.6rem;height:1.6rem;flex-basis:1.6rem}.competence-cloud .competency-icon img{width:1.5rem;height:1.5rem}
 .about-hero-photo figcaption{left:.6rem;right:.6rem;font-size:.8rem}
}

/* Art direction: expressive cards, framed features, and open editorial passages.
   Original brand tokens are unchanged; route colours belong only to the thread. */
:root{--section-top:3.5rem;--thread-space:5rem;--radius:1.8rem;--panel-border:#2926261c}
body[data-page=index]{--thread-ink:#91d0d1}
body[data-page=chi-siamo]{--thread-ink:#ed6a55}
body[data-page=aziende]{--thread-ink:#e18ab9}
body[data-page=scuole]{--thread-ink:#fdea51;--thread-opacity:.88}
body[data-page=metodo]{--thread-ink:#ff9b13}
body[data-page=one-to-one]{--thread-ink:#65aeb0}
body[data-page=tailor-made]{--thread-ink:#f18734}
body[data-page=contatti]{--thread-ink:#b16d95}
.page-thread{opacity:1}
.page-thread .thread-colour{opacity:var(--thread-opacity,.55)}
.page-thread .thread-white,.footer-thread{opacity:1}
h1,h2,h3{letter-spacing:-.04em}
h2,.section-title{font-size:clamp(2rem,3.3vw,3.35rem);line-height:1.2}
h3{font-weight:600}
.section-number,.eyebrow{font-size:.875rem;letter-spacing:.1em}
.site-header{border-color:#29262612;box-shadow:0 5px 24px #29262608}
.ui-button{font-weight:500;min-height:3.25rem}
.hero,.business-hero,.page-hero,.about-hero{padding-top:10rem;padding-bottom:5.5rem;gap:5vw}
.home-hero-photo{height:clamp(26rem,36vw,34rem);border-radius:2rem 6rem 2rem 2rem;border:10px solid var(--aqua)}
.home-hero-photo figcaption{left:.8rem;right:.8rem;bottom:.8rem;border-radius:1.2rem;font-size:.875rem}
.opening-photo{border-radius:2rem 4.5rem 2rem 2rem}
.business-hero h1{font-size:clamp(2.6rem,3.85vw,4.1rem);line-height:1.16}
.hero h1 strong{font-size:clamp(3rem,5.2vw,5.5rem)}
.hero-body,.business-lead,.page-hero__sub{line-height:1.75}

/* Home: open manifesto, four service destinations, compact method tiles. */
.hub-intro{display:grid;grid-template-columns:.28fr 1fr;gap:1.4rem 5vw;padding-block:1.7rem 2.5rem;border-block:1px solid var(--line);max-width:78rem;margin:auto}
.hub-intro>.section-number{grid-column:1;grid-row:1/3;padding-top:.5rem;margin:0}
.hub-intro h2{grid-column:2;font-size:clamp(1.9rem,3vw,3.15rem);line-height:1.35;max-width:58rem}
.hub-intro>p:last-child{grid-column:2;font-size:1.05rem}
.service-grid{gap:1.5rem}
.service-card{grid-template-columns:.9fr 1.1fr;padding:.75rem;border:0;border-radius:2rem;box-shadow:none;align-items:stretch;transition:transform .2s,box-shadow .2s}
.service-photo{border-radius:1.35rem;min-height:20rem;height:100%;background:white}
.service-copy{padding:1.2rem 1rem 1rem 1.5rem;gap:1rem;min-height:0}
.service-copy h3{font-size:clamp(1.4rem,1.85vw,1.8rem);line-height:1.2}
.service-copy p{font-size:1rem;line-height:1.65}
.service-copy .service-arrow{height:3.3rem;width:3.3rem;min-height:3.3rem;margin-top:auto}
.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px #29262612}
.service-card:focus-visible{outline-offset:5px}
.method{grid-template-columns:.82fr 1.18fr;gap:5vw;align-items:center}
.method-heading>p:not(.section-number){line-height:1.75}
.principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:stretch}
.principles-grid article{padding:1.8rem;border:1px solid var(--line);border-radius:1.7rem;background:white;min-width:0}
.principles-grid article:nth-child(2){background:var(--aqua);border-color:transparent}
.principles-grid article:nth-child(3){background:var(--yellow);border-color:transparent}
.principles-grid h3{font-size:1.4rem;margin-bottom:.8rem}
.principles-grid p{font-size:1rem;line-height:1.65}
.principles-grid .brand-symbol-original{width:3rem;height:3rem;margin:0 0 1.6rem}

/* Service cards have a clear top, readable body and no decorative numbering. */
.offer-grid,.cards{gap:1.5rem}
.offer-card,.card{padding:2.25rem;border:0;box-shadow:none;border-radius:1.8rem}
.offer-icon{display:grid;place-items:center;width:4rem;height:4rem;background:white;border-radius:50%;margin-bottom:2rem}
.offer-icon img{width:2.3rem;height:2.3rem}
.offer-card h3,.card h3{font-size:1.55rem;line-height:1.25}
.offer-card p,.card p{line-height:1.75}
.offer-card:nth-child(2){background:var(--yellow)}
.offer-card:nth-child(3){background:var(--pink)}
.school-page .cards>.card:nth-child(2){background:var(--yellow)}
.card .ui-button{background:white}

/* One light frame joins the four steps into one process. */
.process-section.business-process,.process-section.school-process>.wrap{display:block}
.process-panel{padding:clamp(1.6rem,3.5vw,3.5rem);background:white;border:1px solid var(--line);border-radius:2rem;box-shadow:0 6px 24px #29262604}
.process-panel .process-introduction{display:grid;grid-template-columns:1fr 1.15fr;gap:4vw;align-items:start}
.process-panel .process-introduction .method-prose{margin:0}
.process-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem;list-style:none;margin:2.8rem 0 0;padding:0}
.process-timeline>li{display:flex;flex-direction:column;gap:1.3rem;position:relative;min-width:0;padding:0}
.process-timeline>li:not(:last-child):after{content:'';position:absolute;top:1.5rem;left:3rem;right:-1.8rem;height:1px;background:var(--line);z-index:0}
.process-timeline>li>span{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:3rem;height:3rem;border-radius:50%;background:var(--aqua);font-size:1rem;font-weight:600;line-height:1}
.process-timeline>li:nth-child(2)>span{background:var(--yellow)}
.process-timeline>li:nth-child(3)>span{background:var(--pink)}
.process-timeline>li:nth-child(4)>span{background:var(--orange)}
.process-timeline p{font-size:1rem;line-height:1.75}

/* A single yellow quotation is the focal point of each testimonial section. */
.reviews{grid-template-columns:.7fr 1.3fr;gap:1.5rem 5vw;align-items:start}
.reviews-heading{padding-top:2rem}
.reviews-quote{padding:clamp(1.7rem,3.8vw,3.7rem);background:var(--yellow);border-radius:2.2rem 2.2rem .65rem 2.2rem;min-width:0}
.reviews-quote .review-slide p{font-size:clamp(1.35rem,2.15vw,2.05rem);line-height:1.55;font-weight:500;letter-spacing:-.025em}
.reviews-quote .review-slide cite{font-size:.95rem;line-height:1.7;margin-top:1.5rem}
.reviews-quote .review-slide p:before,.reviews-quote .review-slide p:after{color:var(--ink)}
.review-controls{margin-top:0}
.review-controls>button{background:white;border:1px solid var(--line)}
.review-controls>button:hover{background:var(--aqua)}

/* About: large open manifesto, a marginal feature and two framed portraits. */
.manifesto-statement{display:grid;grid-template-columns:5rem 1fr;gap:3rem;max-width:78rem;margin:auto;align-items:start}
.manifesto-statement>.editorial-icon{background:var(--yellow);width:5rem;height:5rem}
.manifesto-statement h2{font-size:clamp(1.9rem,3.1vw,3.2rem);line-height:1.4;max-width:none}
.manifesto-statement .ui-button{background:var(--coral);margin-top:2rem}
.philosophy-open{position:relative;padding:2.5rem;border:0;border-radius:2rem;background:var(--pink)}
.philosophy-open>.editorial-icon{width:4.3rem;height:4.3rem;background:white;margin-bottom:1.6rem}
.philosophy-open>.editorial-icon img{width:2.6rem;height:2.6rem}
.philosophy-open h3{font-size:1.7rem;margin-bottom:1rem}
.philosophy-open p{line-height:1.75}
.founders-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.founder-profile{min-width:0;border:1px solid var(--line);padding:.8rem;border-radius:2rem;background:white}
.founder-profile>.profile-portrait{aspect-ratio:1.35;border-radius:1.35rem;overflow:hidden}
.founder-profile .profile-portrait img{width:100%;height:100%;object-fit:cover;object-position:65% 40%}
.founder-profile:nth-child(2) .profile-portrait img{transform:scale(1.25);transform-origin:50% 35%;object-position:50% 40%}
.founder-profile>div:not(.profile-portrait){margin-top:.8rem;padding:1.6rem;border-radius:1.35rem;background:var(--aqua);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center}
.founder-profile:nth-child(2)>div:not(.profile-portrait){background:var(--pink)}
.founder-profile>div>p{grid-column:1;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase}
.founder-profile h3{grid-column:1;font-size:clamp(1.5rem,2.2vw,2rem)}
.founder-profile .founder-linkedin{grid-column:2;grid-row:1/3;background:white;padding:.65rem 1rem;font-size:.875rem;min-height:2.8rem}
.about-method-open{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;padding:2.8rem;background:var(--yellow);border-radius:2rem}
.about-method-open>.editorial-icon{background:white}
.about-method-open h2{font-size:clamp(1.9rem,2.7vw,2.8rem)}
.about-method-open p{font-size:1rem;margin-top:1.2rem;max-width:44rem}
.about-method-open .ui-button{justify-self:start;background:white}

/* Method: one highlighted idea, editorial explanation, three equal pillars. */
.approach-editorial{display:grid;grid-template-columns:1fr 1.05fr;gap:6vw;align-items:center;margin-bottom:5rem}
.approach-introduction h2{margin-bottom:1.8rem}
.approach-statement{font-size:clamp(1.5rem,2.3vw,2.4rem);font-weight:500;line-height:1.45;letter-spacing:-.035em;padding:1.8rem 2rem;background:var(--yellow);border-radius:1.8rem 1.8rem 1.8rem .5rem}
.approach-statement strong{font-weight:600;color:var(--ink)}
.approach-body{font-size:1.05rem;line-height:1.8}
.approach-body p+p{margin-top:1.4rem}
.approach-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}
.approach-pillar{min-width:0;padding:2rem;border-radius:1.8rem;background:var(--aqua)}
.approach-pillar:nth-child(2){background:var(--pink)}
.approach-pillar:nth-child(3){background:var(--yellow)}
.approach-pillar .approach-icon{width:4.5rem;height:4.5rem;justify-items:center;border-radius:50%;background:white;margin-bottom:2rem}
.approach-pillar .approach-icon img{width:2.7rem;height:2.7rem}
.approach-pillar h3{font-size:1.7rem;margin-bottom:1rem}
.approach-pillar p{font-size:1rem;line-height:1.75}

/* Schools: age-group cards followed by practical teacher training. */
.education-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:3rem}
.education-stage{min-width:0;border-top:2px solid var(--yellow);padding-top:2rem}
.education-stage:nth-child(2){border-color:var(--orange)}
.education-stage:nth-child(3){border-color:var(--pink)}
.education-stage .filu-original{width:4.5rem;height:auto;margin-bottom:1.5rem}
.education-stage h3{font-size:1.65rem;margin-bottom:1rem}
.education-stage p{font-size:1rem;line-height:1.75}
.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}
.teacher-card-refined{padding:2rem;border:1px solid var(--line);border-radius:1.8rem;background:white;min-width:0}
.teacher-card-refined:nth-child(2){background:var(--aqua);border-color:transparent}
.teacher-card-refined .teacher-icon{width:4.3rem;height:4.3rem;justify-items:center;margin:0 0 1.8rem;border-radius:50%;background:var(--yellow)}
.teacher-card-refined .teacher-icon img{width:2.6rem;height:2.6rem}
.teacher-card-refined:nth-child(2) .teacher-icon{background:white}
.teacher-card-refined:nth-child(3) .teacher-icon{background:var(--pink)}
.teacher-card-refined h3{font-size:1.5rem;line-height:1.3;margin-bottom:1rem}
.teacher-card-refined p{font-size:1rem;line-height:1.75}

/* Bespoke planning has a single shared frame and open numbered rows. */
.planning-rows{padding:0 2.5rem;margin-top:2.5rem;background:white;border:1px solid var(--line);border-radius:2rem}
.planning-row{display:grid;grid-template-columns:4rem .85fr 1.15fr;gap:2rem;padding:2.4rem 0;align-items:start}
.planning-row+.planning-row{border-top:1px solid var(--line)}
.planning-row .section-number{margin:0;display:grid;place-items:center;width:3.5rem;height:3.5rem;background:var(--aqua);border-radius:50%;font-size:1rem;font-weight:600;letter-spacing:0;line-height:1}
.planning-row:nth-child(2) .section-number{background:var(--yellow)}
.planning-row:nth-child(3) .section-number{background:var(--pink)}
.planning-row h3{font-size:1.65rem;line-height:1.3}
.planning-row p:not(.section-number){font-size:1rem;line-height:1.75}
.individual-intro .manifesto{max-width:none;padding:clamp(1.8rem,4vw,4rem);background:var(--aqua);border-radius:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 4rem;align-items:start}
.individual-intro .eyebrow{grid-column:1/-1;margin:0}
.individual-intro .manifesto__big{font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.35}
.individual-intro .manifesto__note{margin:0;font-size:1.05rem}

/* One competence collection, framed once; all eleven items remain together. */
.competence-cloud{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 2rem;margin:0;padding:2.5rem;background:white;border:1px solid var(--line);border-radius:2rem}
.competence-cloud>li,.competence-cloud>li:nth-child(n){aspect-ratio:auto;display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;justify-content:start;gap:1rem;padding:.5rem 0;background:none;border-radius:0;font-size:1rem;font-weight:500;line-height:1.45;text-align:left}
.competence-cloud .competency-icon{width:3.5rem;height:3.5rem;flex-basis:auto;border-radius:50%;background:var(--aqua)}
.competence-cloud .competency-icon img{width:1.85rem;height:1.85rem}
.competence-cloud>li:nth-child(5n+2) .competency-icon{background:var(--yellow)}
.competence-cloud>li:nth-child(5n+3) .competency-icon{background:var(--pink)}
.competence-cloud>li:nth-child(5n+4) .competency-icon{background:var(--orange)}
.competence-cloud>li:nth-child(5n) .competency-icon{background:var(--coral)}
.competence-cloud li>span:last-child{max-width:none;text-wrap:pretty}
.method-tags,.tags{gap:.5rem 2rem}
.method-tags li,.tags li{line-height:1.5}
.contact-layout form{box-shadow:0 6px 28px #29262607;border-radius:2rem}

@media(max-width:1100px){
 .service-card{grid-template-columns:1fr;padding:.7rem}.service-photo{height:17rem;min-height:0}.service-copy{padding:1.4rem;min-height:19rem}
 .method{grid-template-columns:1fr;gap:2.5rem}.method-heading{max-width:44rem}.principles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.principles-grid article{padding:1.5rem}.principles-grid h3{font-size:1.25rem}
 .about-method-open{grid-template-columns:auto 1fr}.about-method-open>.ui-button{grid-column:2}
 .founder-profile>div:not(.profile-portrait){display:block}.founder-profile h3{margin-top:.4rem}.founder-profile .founder-linkedin{margin-top:1rem}
 .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-card,.card{padding:1.75rem}
 .approach-pillars,.teacher-grid{gap:1.1rem}.approach-pillar,.teacher-card-refined{padding:1.6rem}
}
@media(max-width:900px){
 .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.principles-grid h3{font-size:1.4rem}
 .process-panel .process-introduction{display:block}.process-panel .process-introduction .method-prose{margin-top:1.4rem}
 .process-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.process-timeline>li:after{display:none}
 .competence-cloud{grid-template-columns:repeat(2,minmax(0,1fr));padding:2rem}
 .approach-editorial{grid-template-columns:1fr;gap:2.2rem}.approach-introduction{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:center}.approach-introduction h2{margin:0}
 .approach-body{max-width:48rem}
 .teacher-grid{grid-template-columns:1fr}.teacher-card-refined{display:grid;grid-template-columns:4.3rem .75fr 1.25fr;gap:1.5rem;align-items:start}.teacher-card-refined .teacher-icon{margin:0}.teacher-card-refined h3{margin:0}
 .planning-row{grid-template-columns:3.5rem .8fr 1.2fr;gap:1.5rem}.planning-row h3{font-size:1.45rem}
 .education-stages{gap:1.75rem}
}
@media(max-width:750px){
 :root{--section-top:2.5rem;--thread-space:3.5rem;--gutter:6vw}
 .hero,.business-hero,.page-hero,.about-hero{padding-top:8rem;padding-bottom:3.5rem;gap:2.2rem;grid-template-columns:1fr}
 .business-hero h1{font-size:clamp(2.3rem,7.4vw,3.6rem)}.hero h1 strong{font-size:clamp(2.5rem,9.7vw,4.8rem)}
 .home-hero-photo{height:26rem;max-height:105vw;border-width:8px;border-radius:1.7rem 4.5rem 1.7rem 1.7rem}.opening-photo{height:26rem;max-height:108vw;border-radius:1.7rem 3.7rem 1.7rem 1.7rem}
 .hub-intro{grid-template-columns:1fr;gap:1.2rem;padding-block:1.6rem 2rem}.hub-intro>.section-number,.hub-intro h2,.hub-intro>p:last-child{grid-column:1;grid-row:auto;padding:0}.hub-intro h2{font-size:clamp(1.9rem,6.2vw,2.8rem)}
 .service-grid{gap:1.3rem}.service-photo{height:15rem}.service-copy{padding:1.25rem;min-height:20rem}.service-copy h3{font-size:1.5rem}.service-copy .service-arrow{margin-top:auto}
 .principles-grid{gap:1rem}.principles-grid article{padding:1.5rem}.principles-grid h3{font-size:1.4rem}
 .offer-grid{grid-template-columns:1fr}.offer-card,.card{padding:1.8rem}.offer-icon{margin-bottom:1.5rem}
 .process-timeline{margin-top:2rem;grid-template-columns:1fr;gap:1.8rem}.process-timeline>li{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem}.process-timeline>li:not(:last-child):after{display:block;left:1.5rem;top:3rem;bottom:-1.8rem;width:1px;height:auto;right:auto}
 .reviews{grid-template-columns:1fr;gap:1.5rem}.reviews-heading{padding:0}.reviews-heading h2{max-width:none}.review-controls{grid-column:1}.reviews-quote{padding:1.8rem;border-radius:1.8rem 1.8rem .5rem 1.8rem}.reviews-quote .review-slide p{font-size:1.4rem}
 .manifesto-statement{grid-template-columns:1fr;gap:1.5rem}.manifesto-statement h2{font-size:clamp(1.8rem,5.8vw,2.6rem)}.manifesto-statement>.editorial-icon{width:4rem;height:4rem}
 .philosophy-open{padding:1.8rem}.founders-gallery{grid-template-columns:1fr;gap:1.5rem}.founder-profile h3{font-size:1.85rem}.founder-profile>.profile-portrait{aspect-ratio:1.3}
 .about-method-open{grid-template-columns:1fr;gap:1.4rem;padding:1.8rem}.about-method-open>.ui-button{grid-column:1}
 .approach-introduction{display:block}.approach-introduction h2{margin-bottom:1.6rem}.approach-statement{font-size:1.7rem;padding:1.6rem}.approach-editorial{margin-bottom:3.5rem}.approach-body{font-size:1rem}
 .approach-pillars{grid-template-columns:1fr;gap:1.2rem}.approach-pillar{display:grid;grid-template-columns:4rem 1fr;gap:.8rem 1.3rem;padding:1.8rem}.approach-pillar .approach-icon{grid-row:1/3;width:4rem;height:4rem;margin:0}.approach-pillar h3{font-size:1.6rem;margin:0}.approach-pillar p{grid-column:2}
 .education-stages{grid-template-columns:1fr;gap:2rem}.education-stage{display:grid;grid-template-columns:4.5rem 1fr;gap:1.3rem;padding-top:1.6rem}.education-stage .filu-original{margin:0}.education-stage h3{font-size:1.45rem}
 .teacher-card-refined{grid-template-columns:4rem 1fr;gap:.8rem 1.2rem;padding:1.8rem}.teacher-card-refined .teacher-icon{grid-row:1/3;width:4rem;height:4rem}.teacher-card-refined .teacher-icon img{width:2.4rem;height:2.4rem}.teacher-card-refined p{grid-column:2}
 .planning-rows{padding:0 1.6rem}.planning-row{grid-template-columns:3rem 1fr;gap:.8rem 1.2rem;padding:1.8rem 0}.planning-row .section-number{grid-row:1/3;width:3rem;height:3rem}.planning-row p:not(.section-number){grid-column:2}
 .individual-intro .manifesto{grid-template-columns:1fr;gap:1.4rem;padding:1.8rem}.individual-intro .manifesto__note{font-size:1rem}
 .competence-cloud{gap:1.2rem 1rem;padding:1.6rem}.competence-cloud>li,.competence-cloud>li:nth-child(n){grid-template-columns:3rem 1fr;gap:.8rem;font-size:1rem}.competence-cloud .competency-icon{width:3rem;height:3rem}.competence-cloud .competency-icon img{width:1.6rem;height:1.6rem}
}
@media(max-width:560px){
 .service-grid{grid-template-columns:1fr}.service-photo{height:17rem}.service-copy{min-height:0;padding:1.25rem}.service-copy h3{font-size:1.7rem}.service-copy .service-arrow{margin-top:.5rem}
 .principles-grid{grid-template-columns:1fr}.principles-grid article{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem}.principles-grid .brand-symbol-original{margin:0}.principles-grid h3{font-size:1.4rem}
 .competence-cloud{grid-template-columns:1fr;gap:.8rem}
 .approach-pillar,.teacher-card-refined{display:block;padding:1.6rem}.approach-pillar .approach-icon,.teacher-card-refined .teacher-icon{margin-bottom:1.3rem}.approach-pillar h3,.teacher-card-refined h3{margin-bottom:.9rem}
}

/* Tailor Made is a distinct destination in both versions of the navigation. */
.service-submenu a[href$="/tailor-made.html"]{background:var(--pink);margin-top:.35rem;font-weight:600}
.service-submenu a[href$="/tailor-made.html"]:hover{background:var(--yellow)}
.service-submenu a[href$="/tailor-made.html"][aria-current=page]{box-shadow:inset 0 0 0 1px var(--ink)}

/* Three restored school-age cards, with room for the longer secondary heading. */
.education-stages{gap:1.5rem;align-items:stretch}
.education-stage{padding:2rem;border:0;border-radius:1.8rem;background:var(--aqua);display:flex;flex-direction:column;gap:1.6rem}
.education-stage:nth-child(2){background:var(--yellow)}
.education-stage:nth-child(3){background:var(--pink)}
.education-stage .filu-original{width:5.5rem;height:5.5rem;object-fit:contain;flex:none;padding:.8rem;background:white;border-radius:50%;margin:0}
.education-stage h3{font-size:1.55rem;line-height:1.3;margin-bottom:1rem}
.education-stage p{line-height:1.75}
.educational-goals{margin-top:2.5rem}
.educational-goals>li{border:0}
.educational-goals>li:before{display:none}

/* Two practical workshop cards and one full-width classroom application. */
.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.teacher-card-refined,.teacher-card-refined:nth-child(2){display:grid;grid-template-columns:4.3rem minmax(0,1fr);align-content:start;align-items:center;gap:1.3rem 1.5rem;padding:2.2rem;border:0;background:var(--aqua)}
.teacher-card-refined:nth-child(2){background:var(--pink)}
.teacher-card-refined .teacher-icon,.teacher-card-refined:nth-child(2) .teacher-icon,.teacher-card-refined:nth-child(3) .teacher-icon{grid-row:auto;margin:0;background:white}
.teacher-card-refined h3{margin:0;font-size:1.6rem;line-height:1.3}
.teacher-card-refined p{grid-column:1/-1;margin:0;line-height:1.8}
.teacher-card-refined:nth-child(3){grid-column:1/-1;grid-template-columns:4.3rem .85fr 1.15fr;background:var(--yellow)}
.teacher-card-refined:nth-child(3) p{grid-column:3}
.teacher-bottom{margin-top:2rem;padding-top:1.8rem;border-top:1px solid var(--line)}
@media(max-width:980px){
 .education-stages{gap:1rem}.education-stage{padding:1.5rem}
 .teacher-card-refined,.teacher-card-refined:nth-child(2){padding:1.8rem;gap:1.2rem}
 .teacher-card-refined:nth-child(3){grid-template-columns:4.3rem minmax(0,1fr)}
 .teacher-card-refined:nth-child(3) p{grid-column:1/-1}
}
@media(max-width:750px){
 .education-stages{grid-template-columns:1fr;gap:1.2rem}
 .education-stage{display:grid;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:1.3rem;padding:1.8rem}
 .education-stage .filu-original{width:4.5rem;height:4.5rem;padding:.65rem}
 .education-stage h3{font-size:1.5rem}
 .teacher-grid{grid-template-columns:1fr;gap:1.2rem}
 .teacher-card-refined,.teacher-card-refined:nth-child(2),.teacher-card-refined:nth-child(3){grid-template-columns:4rem minmax(0,1fr);padding:1.8rem;gap:1.2rem}
 .teacher-card-refined h3{font-size:1.5rem}
 .teacher-card-refined .teacher-icon{width:4rem;height:4rem;margin:0}
 .teacher-card-refined p,.teacher-card-refined:nth-child(3) p{grid-column:1/-1}
}
@media(max-width:400px){
 .education-stage{display:flex;padding:1.5rem;gap:1.2rem}
 .teacher-card-refined,.teacher-card-refined:nth-child(2),.teacher-card-refined:nth-child(3){padding:1.5rem;grid-template-columns:3.3rem minmax(0,1fr);gap:1rem}
 .teacher-card-refined .teacher-icon{width:3.3rem;height:3.3rem}.teacher-card-refined .teacher-icon img{width:2.1rem;height:2.1rem}
}

/* Finishing system: horizontal actions, consistent competence collections. */
.button-outline{background:white;border-color:var(--line)}
.button-outline:hover{background:var(--aqua)}
.ui-button.header-contact{gap:.7rem}
.ui-button:disabled{box-shadow:none}
.review-controls>button{width:3.25rem;height:3.25rem;border-color:var(--ink);transition:background-color .2s}
.review-controls svg{width:1.4rem;height:1.4rem;stroke-width:1.8}
.accordion summary span,.accordion details[open] summary span{position:relative;width:1.1rem;height:1.1rem;transform:none;margin:0;border:0}
.accordion summary span:before,.accordion summary span:after{content:'';position:absolute;top:50%;left:0;width:100%;height:2px;border-radius:2px;background:var(--ink);transform:translateY(-50%)}
.accordion summary span:after{transform:translateY(-50%) rotate(90deg);transition:transform .2s}
.accordion details[open] summary span:after{transform:translateY(-50%)}
.competencies-section>h2{max-width:53rem}
.competencies-section>.competence-cloud,.business-offers>.competence-cloud{margin-top:2.5rem}
.competencies-section>.eyebrow{margin-bottom:1.2rem}
.competence-cloud>li{border:0}
.approach-pillar .approach-icon{display:grid;place-items:center;width:4rem;height:4rem}
.approach-pillar .approach-icon img{width:2.3rem;height:2.3rem}
.approach-pillar h3{font-size:1.55rem;line-height:1.25}
.approach-pillar:nth-child(2){background:var(--yellow)}
.approach-pillar:nth-child(3){background:var(--pink)}

/* Filù is the welcoming, full-size illustration in the contact opening. */
.contact-heading{grid-template-columns:1.15fr .85fr}
.contact-heading>.contact-filu{width:clamp(14rem,25vw,23rem);max-width:100%;height:auto;object-fit:contain;align-self:center;justify-self:center}

/* About becomes a single spacious coral plaque, with an open story inside. */
.about-story-panel{position:relative;margin:1rem 2vw 5.5rem;background:var(--coral);border-radius:clamp(2rem,5vw,5rem);padding-block:1rem}
.about-page .about-story-panel section{background:transparent;padding-inline:calc(var(--gutter) - 2vw)}
.about-story-panel .about-manifesto{padding-top:5.5rem;padding-bottom:3rem}
.about-story-panel .manifesto-statement{grid-template-columns:4.5rem minmax(0,1fr);gap:3rem;max-width:none}
.about-story-panel .manifesto-statement>.editorial-icon{width:4.5rem;height:4.5rem;background:white}
.about-story-panel .manifesto-statement h2{max-width:58rem;font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.4}
.about-story-panel h2 em{color:white}
.about-story-panel .manifesto-statement .ui-button{background:white}
.about-story-panel .about-founders{grid-template-columns:1fr 1fr;align-items:start;gap:7vw;padding-top:4.5rem;padding-bottom:2.5rem}
.about-story-panel .founders-intro{max-width:33rem}
.about-story-panel .founders-lead{max-width:30rem;line-height:1.8}
.about-story-panel .philosophy-open{background:transparent;border-radius:0;padding:0;max-width:35rem}
.about-story-panel .philosophy-open>.editorial-icon{display:none}
.about-story-panel .philosophy-open h3{font-size:1.6rem;line-height:1.3;margin-bottom:1.4rem}
.about-story-panel .philosophy-open p{font-size:1.05rem;line-height:1.8}
.about-story-panel .founder-profiles{padding-top:2rem;padding-bottom:5.5rem}
.about-story-panel .founders-gallery{gap:3.5rem}
.about-story-panel .founder-profile{border:0;border-radius:0;background:transparent;padding:0}
.about-story-panel .founder-profile>.profile-portrait{border-radius:1.5rem;aspect-ratio:1.3}
.about-story-panel .founder-profile>div:not(.profile-portrait){background:transparent;border-radius:0;margin:0;padding:1.6rem 0 0;gap:.65rem 1rem}
.about-story-panel .founder-profile h3{font-size:clamp(1.5rem,2.2vw,2.1rem)}
.about-story-panel .founder-profile .founder-linkedin{background:white;border-color:transparent}
.about-page .about-method-strip{display:block;padding-top:0}
@media(max-width:980px){
 .about-story-panel .founders-gallery{gap:2rem}
 .about-story-panel .about-founders{gap:4vw}
}
@media(max-width:750px){
 .contact-heading{grid-template-columns:1fr;gap:1.5rem}
 .contact-heading>.contact-filu{grid-column:1;grid-row:auto;order:1;width:13rem;margin:1.25rem auto 0}
 .about-story-panel{margin:0 3vw 3.5rem;border-radius:2rem;padding-block:0}
 .about-page .about-story-panel section{padding-inline:6vw}
 .about-story-panel .about-manifesto{padding-top:3rem;padding-bottom:1.5rem}
 .about-story-panel .manifesto-statement{grid-template-columns:1fr;gap:1.5rem}
 .about-story-panel .manifesto-statement h2{font-size:clamp(1.8rem,6vw,2.6rem)}
 .about-story-panel .manifesto-statement>.editorial-icon{width:3.75rem;height:3.75rem}
 .about-story-panel .about-founders{grid-template-columns:1fr;gap:2.8rem;padding-top:2.5rem;padding-bottom:1rem}
 .about-story-panel .philosophy-open p{font-size:1rem}
 .about-story-panel .founder-profiles{padding-top:2rem;padding-bottom:3rem}
 .about-story-panel .founders-gallery{gap:2.5rem}
 .about-story-panel .founder-profile>div:not(.profile-portrait){padding-top:1.3rem}
 .competencies-section>.competence-cloud,.business-offers>.competence-cloud{margin-top:2rem}
 .ui-button{gap:.8rem}
}
@media(prefers-reduced-motion:reduce){
 .button-arrow,.service-arrow svg,.accordion summary span:after{transition:none}
 .ui-button:hover .button-arrow,.service-card:hover .service-arrow svg{transform:none}
}

/* Brand-accented line icons sit directly on the card, without white discs. */
main :is(.offer-icon,.teacher-icon,.approach-icon,.editorial-icon){background:transparent!important;border:0;border-radius:0;padding:0;justify-items:start}
main :is(.offer-icon,.teacher-icon,.approach-icon,.editorial-icon) img{width:3.25rem;height:3.25rem;max-width:100%;max-height:100%;object-fit:contain}
main .education-stage .filu-original{background:transparent;border-radius:0;padding:0}
.service-card:hover{transform:none}
/* Hover is a small lift; information cards retain their normal reading cursor. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.approach-pillar,.principles-grid article,.process-panel,.planning-row,.about-method-open,.reviews-quote,.founder-profile),
 .motion-ready main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.approach-pillar,.principles-grid article,.process-panel,.planning-row,.about-method-open,.reviews-quote,.founder-profile){transition:translate .26s ease,scale .26s ease,box-shadow .26s ease,opacity .55s ease var(--reveal-delay,0ms),transform .55s ease var(--reveal-delay,0ms)}
 main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.approach-pillar,.principles-grid article,.about-method-open,.reviews-quote):is(:hover,:focus-within){translate:0 -4px;scale:1.01;box-shadow:0 12px 28px #29262612}
 main :is(.process-panel,.planning-row,.founder-profile):is(:hover,:focus-within){translate:0 -3px;scale:1.005}
 main .competence-cloud>li{transition:translate .22s ease}
 main .competence-cloud>li:hover{translate:3px 0}
 main :is(.offer-icon,.teacher-icon,.approach-icon) img{transition:scale .26s ease}
 main :is(.offer-card,.teacher-card-refined,.approach-pillar):hover :is(.offer-icon,.teacher-icon,.approach-icon) img{scale:1.06}
}
@media(max-width:750px){
 main :is(.offer-icon,.teacher-icon,.approach-icon,.editorial-icon) img{width:2.9rem;height:2.9rem}
}

/* Quiet headings and a full-width method collection, consistent with services. */
.home-page .hub-intro{display:block;max-width:68rem}
.home-page .hub-intro h2{max-width:62rem}
.home-page .hub-intro>p:last-child{margin-top:1.5rem}
.home-page .method{display:block}
.home-page .method-heading{display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem 5vw;align-items:start;max-width:none;margin-bottom:2.8rem}
.home-page .method-heading h2{grid-column:1;grid-row:1/3;max-width:9em}
.home-page .method-heading>p{grid-column:2;margin:0;font-size:1.05rem;line-height:1.8}
.home-page .method-heading .ui-button{grid-column:2;justify-self:start;margin:0;background:var(--coral)}
.home-page .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.home-page .principles-grid article{display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:start;gap:1.6rem;padding:2.25rem;border:0;border-radius:1.8rem;background:var(--aqua)}
.home-page .principles-grid article:nth-child(2){background:var(--yellow)}
.home-page .principles-grid article:nth-child(3){background:var(--pink)}
.home-page .principles-grid article:nth-child(4){background:var(--orange)}
.home-page .principles-grid .offer-icon{width:3.5rem;height:3.5rem;margin:0}
.home-page .principles-grid h3{font-size:1.55rem;line-height:1.25;margin-bottom:1rem}
.home-page .principles-grid p{line-height:1.75}

/* About: open introduction, a single people panel, and a lighter bespoke story. */
.about-page .about-hero{grid-template-columns:1fr .92fr;gap:7vw;align-items:center;padding-bottom:4rem}
.about-page .about-hero h1{font-size:clamp(2.8rem,4.7vw,5rem);line-height:1.16}
.about-page .about-hero-description{max-width:31rem;line-height:1.8}
.about-page .about-hero-photo{height:auto;background:none;border:0;border-radius:0;overflow:visible}
.about-page .about-hero-photo>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 38%;border-radius:2rem 5rem 2rem 2rem}
.about-page .about-hero-photo figcaption{position:static;padding:1rem 0 0;background:none;text-align:left;font-size:.875rem}
.about-page .about-manifesto{padding-top:2.5rem;padding-bottom:5rem}
.about-page .manifesto-statement{display:block;max-width:66rem;margin-inline:auto}
.about-page .manifesto-statement h2{font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.5;letter-spacing:-.03em}
.about-page .manifesto-statement .ui-button{margin-top:2rem}
.about-page .about-story-panel{margin-top:0;margin-bottom:5rem;border-radius:3rem;padding-block:0}
.about-story-panel .about-founders{padding-top:5rem;padding-bottom:2rem;gap:6vw;grid-template-columns:1fr 1fr}
.about-story-panel .founders-intro{padding:0}
.about-story-panel .founders-intro h2{font-size:clamp(2.2rem,3.5vw,3.6rem)}
.about-story-panel .founders-intro h2 em{color:var(--ink)}
.about-story-panel .founders-lead{margin-top:1.5rem;max-width:32rem}
.about-story-panel .philosophy-open{padding-top:.2rem}
.about-story-panel .philosophy-open h3{font-size:1.6rem}
.about-story-panel .founder-profiles{padding-top:2rem;padding-bottom:4rem}
.about-story-panel .founders-gallery{gap:2.5rem}
.about-story-panel .founder-profile>.profile-portrait{aspect-ratio:1.25;border-radius:1.5rem}
.about-story-panel .founder-profile>div:not(.profile-portrait){padding:1.5rem 0 0}
.about-story-panel .founder-profile h3{font-size:clamp(1.5rem,2vw,2rem)}
.about-page .about-method-strip{padding-bottom:4rem}
.about-page .about-method-open{display:grid;grid-template-columns:1fr 1.15fr;gap:5vw;align-items:start;padding:3rem 0;background:transparent;border-block:1px solid var(--line);border-radius:0}
.about-method-title>.editorial-icon{width:3.5rem;height:3.5rem;margin-bottom:1.5rem}
.about-page .about-method-open h2{font-size:clamp(2rem,3.3vw,3.35rem);line-height:1.2}
.about-page .about-method-open p{font-size:1.05rem;line-height:1.8;margin:0}
.about-page .about-method-copy .ui-button{background:var(--aqua);margin-top:1.8rem}
.about-page .about-method-open:is(:hover,:focus-within){translate:none;scale:none;box-shadow:none}
.contact-heading>.contact-filu{grid-row:1/4}
.individual-intro .manifesto__big,.individual-intro .manifesto__note{margin-top:0}
@media(max-width:750px){
 .home-page .method-heading{grid-template-columns:1fr;gap:1.4rem;margin-bottom:2rem}
 .home-page .method-heading h2,.home-page .method-heading>p,.home-page .method-heading .ui-button{grid-column:1;grid-row:auto;max-width:none}
 .home-page .principles-grid{grid-template-columns:1fr;gap:1.2rem}
 .home-page .principles-grid article{grid-template-columns:3rem minmax(0,1fr);gap:1.2rem;padding:1.8rem}
 .home-page .principles-grid .offer-icon{width:3rem;height:3rem}
 .home-page .principles-grid h3{font-size:1.5rem}
 .about-page .about-hero{grid-template-columns:1fr;gap:2.5rem;padding-bottom:2.5rem}
 .about-page .about-hero-photo>img{aspect-ratio:1.1;border-radius:1.5rem 3.5rem 1.5rem 1.5rem}
 .about-page .about-manifesto{padding-top:1.5rem;padding-bottom:3rem}
 .about-page .about-story-panel{border-radius:2rem;margin-bottom:3rem}
 .about-story-panel .about-founders{grid-template-columns:1fr;gap:2.5rem;padding-top:3rem;padding-bottom:1rem}
 .about-story-panel .founder-profiles{padding-bottom:3rem}
 .about-story-panel .founders-gallery{gap:2.5rem}
 .about-page .about-method-strip{padding-bottom:2rem}
 .about-page .about-method-open{grid-template-columns:1fr;gap:1.8rem;padding-block:2rem}
 .about-method-title>.editorial-icon{margin-bottom:1rem}
 .contact-heading>.contact-filu{grid-row:auto}
}
@media(max-width:380px){.home-page .principles-grid article{grid-template-columns:1fr;padding:1.5rem;gap:1.3rem}}

/* Opaque cards sit above the page thread. */
main .thread-surface{position:relative;isolation:isolate}
/* All quotes occupy the same grid cell: controls never resize the page. */
.reviews-quote{display:grid;align-items:start}
.reviews-quote>.review-slide{grid-area:1/1}
.reviews-quote>.review-slide[hidden]{display:block!important;visibility:hidden;pointer-events:none}
/* Hover feedback belongs to content and shadow, never the thread's geometry. */
main .thread-surface.thread-surface:is(:hover,:focus-within){translate:none;scale:none;transform:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 main .thread-surface:not(details):not(.reviews-quote)>*{transition:translate .26s ease}
 main .thread-surface:not(details):not(.reviews-quote):is(:hover,:focus-within)>*{translate:0 -2px}
}

/* Wide, softly tinted navigation; compact on scroll without moving its links. */
.site-header{top:1rem;left:2vw;right:2vw;min-height:6.1rem;padding:.95rem 1.75rem;gap:2rem;background:#f5f7f6;border:1px solid #dce3e0;box-shadow:0 5px 24px #2926260d;transition:padding .28s ease,min-height .28s ease,box-shadow .28s ease,background-color .28s ease}
.site-header.scrolled{min-height:4.2rem;padding:.45rem 1.75rem;background:#f3f6f4;box-shadow:0 8px 28px #29262620}
.site-header .logo{position:relative;width:clamp(9rem,13.5vw,12rem);height:3.9rem;flex:none;transition:height .28s ease}
.site-header .logo img{position:absolute;left:0;top:50%;height:100%;object-fit:contain;object-position:left center;transform:translateY(-50%);transition:opacity .22s ease;pointer-events:none}
.site-header .header-wordmark{width:100%;opacity:1}
.site-header .logo .header-monogram{width:2.75rem;height:2.75rem;opacity:0;mix-blend-mode:multiply}
.site-header.scrolled .logo{height:2.75rem}
.site-header.scrolled .header-wordmark{opacity:0}
.site-header.scrolled .header-monogram{opacity:1}
.site-header .desktop-nav{margin-left:auto}
@media(max-width:1100px){.site-header{gap:1.35rem}.site-header .desktop-nav{gap:1.2rem}}
@media(max-width:980px){.site-header{gap:.85rem}.site-header .logo{margin-right:auto}}
@media(max-width:750px){
 .site-header{top:.65rem;left:2vw;right:2vw;min-height:4.7rem;padding:.65rem .85rem;gap:.65rem}
 .site-header.scrolled{min-height:3.65rem;padding:.35rem .85rem}
 .site-header .logo{width:clamp(6.5rem,27vw,10rem);height:3.25rem}
 .site-header.scrolled .logo{height:2.5rem}
 .site-header .logo .header-monogram{width:2.5rem;height:2.5rem}
 .site-header .header-contact{padding:.65rem .85rem;min-height:2.75rem}
}
@media(max-width:360px){
 .site-header,.site-header.scrolled{padding-inline:.7rem;gap:.5rem}
 .site-header .logo{width:6.3rem}
 .site-header .header-contact{padding:.65rem .7rem}
}

/* One coral panel joins the manifesto, philosophy and team. */
.about-page .about-story-panel .about-manifesto{padding-top:4.5rem;padding-bottom:2rem}
.about-page .about-story-panel .manifesto-statement{max-width:none}
.about-page .about-story-panel .manifesto-statement h2{max-width:64rem;font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.5}
.about-page .about-story-panel .about-founders{padding-top:3rem;padding-bottom:1.5rem}
.about-story-panel .team-title{margin-bottom:2rem}
.about-story-panel .founder-profile{background:var(--coral)}
.about-story-panel .founder-profile>div:not(.profile-portrait){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem 1rem;align-items:center}
.about-story-panel .founder-profile h3{grid-column:1;grid-row:1;margin:0}
.about-story-panel .founder-profile>div>p{grid-column:1;grid-row:2;margin:0;font-size:.875rem}
.about-story-panel .founder-profile .founder-linkedin{grid-column:2;grid-row:1/3;width:3rem;height:3rem;min-height:3rem;padding:0;margin:0;border-radius:50%;justify-self:end;align-self:center}
.linkedin-mark{display:grid;place-items:center;width:1.4rem;height:1.4rem;border:1.5px solid currentColor;border-radius:2px;font:bold 1.1rem/1 Arial,sans-serif;letter-spacing:-.06em;padding-right:.08em}
@media(max-width:750px){
 .about-page .about-story-panel .about-manifesto{padding-top:3rem;padding-bottom:1.5rem}
 .about-page .about-story-panel .about-founders{padding-top:2rem;padding-bottom:1rem}
 .about-story-panel .team-title{margin-bottom:1.6rem}
 .about-story-panel .founder-profile h3{font-size:1.5rem}
}

/* The contact CTA compacts in step with the header. */
.site-header .header-contact{transition:padding .28s ease,min-height .28s ease,font-size .28s ease,box-shadow .2s ease,background-color .2s ease}
.site-header.scrolled .header-contact{min-height:2.5rem;padding:.5rem 1.1rem;font-size:.875rem}
@media(max-width:750px){
 .site-header.scrolled .header-contact{min-height:2.25rem;padding:.4rem .75rem;font-size:.875rem}
}

/* Readable body copy, shared by every route without resizing navigation. */
:root{--body-copy:1.1rem}
main p:not(.section-number):not(.eyebrow):not(.manifesto__big):not(.approach-opening):not(.approach-statement):not(.form-intro),
.home-page .method-heading>p,
.about-page .about-method-open p,
.about-story-panel .philosophy-open p,
.individual-intro .manifesto__note{font-size:var(--body-copy);line-height:1.8}
main .reviews-quote .review-slide p{font-size:clamp(1.4rem,2.15vw,2.05rem);line-height:1.55}
main .founder-profile>div>p{font-size:1rem;line-height:1.6}
main .form-help{font-size:1rem}

/* An open, centered manifesto with warm, typographic emphasis. */
.home-page .hub-intro{display:block;max-width:66rem;padding-block:clamp(2rem,5vw,4.5rem);border:0;text-align:center}
.home-page .hub-intro h2{max-width:24ch;margin-inline:auto;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.4;letter-spacing:-.035em;text-wrap:balance}
.home-page .hub-intro h2 em,
.home-page .hub-intro p strong{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--orange);text-decoration-thickness:.11em;text-underline-offset:.17em;text-decoration-skip-ink:none}
.home-page .hub-intro>p:last-child{max-width:40rem;margin:2rem auto 0;font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.8;text-wrap:balance}

/* The white thread runs in the panel's open space, behind opaque reading areas. */
.about-story-panel .manifesto-statement>div,
.about-story-panel .founders-intro,
.about-story-panel .philosophy-open,
.about-story-panel .team-title{background:var(--coral)}
.about-story-panel .team-title{width:fit-content;padding-right:.5rem}
@media(max-width:750px){
 :root{--body-copy:1.0625rem}
 .home-page .hub-intro{padding-block:1.8rem 2.5rem}
 .home-page .hub-intro>p:last-child{margin-top:1.5rem}
}

/* A real foreground panel covers the pinned About introduction. The thread
   remains on the page layer, entirely behind the opaque coral surface. */
.about-intro-stack{position:relative}
.about-page .about-intro-stack .about-hero{position:sticky;top:var(--hero-pin-top,0px);z-index:2;background:white;min-height:90svh}
.about-page .about-intro-stack .about-story-panel{position:relative;z-index:3;margin:2rem 0 5rem;background:var(--coral);border-radius:3rem;box-shadow:0 -16px 40px #2926260d}
.about-page .about-intro-stack .about-story-panel section{padding-inline:var(--gutter)}
@media(max-width:750px){
 .about-page .about-intro-stack .about-hero{min-height:auto}
 .about-page .about-intro-stack .about-story-panel{margin:1rem 0 3rem;border-radius:2rem}
}

/* Quiet interaction: text and card geometry stay still; images, icons and
   controls provide feedback without moving the background thread. */
main .thread-surface:not(details):not(.reviews-quote):is(:hover,:focus-within)>*{translate:none}
main :is(.planning-row,.process-panel,.about-method-open,.reviews-quote):is(:hover,:focus-within){translate:none;scale:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .service-photo img,.profile-portrait img{transition:scale .45s cubic-bezier(.2,.65,.3,1)}
 .service-card:is(:hover,:focus-within) .service-photo img,
 .founder-profile:is(:hover,:focus-within) .profile-portrait img{scale:1.035}
 main :is(.offer-icon,.approach-icon,.teacher-icon,.competency-icon,.filu-original){transition:rotate .3s ease,scale .3s ease}
 main :is(.offer-card,.card,.approach-pillar,.principles-grid article,.teacher-card-refined,.education-stage):is(:hover,:focus-within) :is(.offer-icon,.approach-icon,.teacher-icon,.filu-original){rotate:-4deg;scale:1.06}
 main .competence-cloud>li:hover{translate:none}
 main .competence-cloud>li:hover .competency-icon{rotate:5deg;scale:1.06}
 main .thread-surface:is(.service-card,.offer-card,.card,.approach-pillar,.principles-grid article,.teacher-card-refined):is(:hover,:focus-within){box-shadow:0 12px 26px #29262617}
 .ui-button:not(:disabled){transition:background-color .22s ease,box-shadow .22s ease,scale .22s ease}
 .ui-button:not(:disabled):hover{scale:1.025;box-shadow:0 6px 18px #29262618}
 .site-header .header-contact{transition:padding .28s ease,min-height .28s ease,font-size .28s ease,background-color .22s ease,box-shadow .22s ease,scale .22s ease}
 .ui-button:not(:disabled):active{scale:.98}
 .ui-button:hover .button-arrow,.service-card:hover .service-arrow svg{transform:translateX(4px)}
 .contact-filu{transition:rotate .35s ease}
 .contact-filu:hover{rotate:-4deg}
}
.contact-layout :is(input,select,textarea){transition:border-color .2s ease,box-shadow .2s ease}
.contact-layout :is(input,select,textarea):focus-visible{border-color:var(--ink);box-shadow:0 0 0 4px #91d0d14d}
.accordion details{transition:box-shadow .22s ease}
.accordion details[open]{box-shadow:0 8px 22px #2926260d}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .reveal{transform:translateY(8px);transition:opacity .45s ease var(--reveal-delay,0ms),transform .45s ease var(--reveal-delay,0ms)}
 .motion-ready .reveal.visible{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .about-page .about-intro-stack .about-hero{position:relative;top:auto}
 main .reveal{opacity:1;transform:none}
 main :is(.thread-surface,.competence-cloud>li):is(:hover,:focus-within){translate:none;scale:none}
}

/* Sticky hero: the thread is local, below its readable foreground. */
.about-page .about-hero>.hero-thread{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}
.hero-thread path{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.5}
.about-page .about-hero-copy{background:#fffffff5;border-radius:1.2rem;padding:.5rem;isolation:isolate}
.about-page .about-hero-photo figcaption{background:white}

/* Professional founder cards: generous portraits and a clear identity panel. */
.about-story-panel .founders-gallery{gap:clamp(1.25rem,3vw,2.5rem);align-items:stretch}
.about-story-panel .founder-profile{background:white;padding:.75rem;border:1px solid #29262612;border-radius:1.8rem;overflow:hidden;box-shadow:0 12px 32px #692c2112}
.about-story-panel .founder-profile>.profile-portrait{aspect-ratio:1.25;border-radius:1.15rem;background:var(--aqua)}
.about-story-panel .founder-profile>div:not(.profile-portrait){background:white;padding:1.5rem .75rem .85rem;grid-template-columns:minmax(0,1fr);gap:.55rem}
.about-story-panel .founder-profile h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.25}
.about-story-panel .founder-profile>div>p{font-size:.95rem;letter-spacing:.06em}
.about-story-panel .founder-profile .founder-linkedin{grid-column:1;grid-row:3;justify-self:start;margin-top:.75rem;width:auto;height:auto;min-height:2.75rem;padding:.6rem .95rem;gap:.6rem;border:1px solid var(--line);border-radius:999px;background:white;font-size:.9rem}

/* A calm aqua feature, distinct from the yellow testimonials below. */
.about-page .about-method-strip{padding-block:1rem 5rem}
.about-page .about-method-open{background:var(--aqua);border:0;border-radius:2.5rem;padding:clamp(1.6rem,4vw,3.75rem);grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.about-method-title>.editorial-icon{width:3.5rem;height:3.5rem;margin-bottom:1.5rem}
.about-page .about-method-open h2{font-size:clamp(2rem,3vw,3.2rem);max-width:15ch;line-height:1.2}
.about-page .about-method-open h2 em{color:var(--ink);text-decoration:underline;text-decoration-color:white;text-decoration-thickness:.09em;text-underline-offset:.15em}
.about-page .about-method-copy .ui-button{background:white}

/* Flexible grids and comfortable controls on tablet and narrow phones. */
main :is(.service-copy,.offer-card,.card,.approach-pillar,.teacher-card-refined,.planning-row,.founder-profile){min-width:0}
.ui-button{max-width:100%;white-space:normal;text-align:center}
.ui-button>span:not(.linkedin-mark){min-width:0;overflow-wrap:anywhere}
.footer-email{overflow-wrap:anywhere}
@media(min-width:751px) and (max-width:1050px){
 .offer-grid,.approach-pillars,.education-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
 .offer-card,.card,.approach-pillar{padding:1.5rem}
 .service-copy{min-height:0}
}
@media(max-width:900px){
 .about-page .about-hero,.hero,.business-hero,.page-hero{grid-template-columns:1fr;gap:2rem}
 .about-page .about-hero h1{font-size:clamp(2.7rem,6vw,4.5rem)}
 .about-page .about-hero-photo{width:100%;max-width:38rem;justify-self:center}
 .about-page .about-hero-photo>img{aspect-ratio:1.2;object-position:50% 38%}
 .about-page .about-method-open{grid-template-columns:1fr;gap:2rem}
 .about-page .about-method-open h2{max-width:22ch}
}
@media(max-width:750px){
 .about-page .about-method-strip{padding-bottom:3rem}
 .about-page .about-method-open{border-radius:1.6rem}
 .service-copy{min-height:0}
 .contact-fields{grid-template-columns:1fr}
 .about-story-panel .founder-profile>div:not(.profile-portrait){padding:1.2rem .5rem .65rem}
 .about-story-panel .founder-profile h3{font-size:1.6rem}
 .about-page .about-hero h1{font-size:clamp(2.4rem,8vw,3.5rem)}
 .mobile-nav{max-height:calc(100dvh - 6.5rem);padding-bottom:max(1.4rem,env(safe-area-inset-bottom))}
}
@media(max-width:420px){
 .home-page .principles-grid article{grid-template-columns:1fr;padding:1.5rem}
 .education-stage{grid-template-columns:1fr;gap:1rem}
 .education-stage p{grid-column:1}
 .process-timeline>li{grid-template-columns:2.5rem minmax(0,1fr);gap:.85rem}
 .process-timeline>li>span{width:2.5rem;height:2.5rem}
 .process-timeline>li:not(:last-child):after{left:1.25rem}
 .reviews-quote{padding:1.4rem}
 .contact-layout form{padding:1.25rem}
 .about-story-panel .founder-profile h3{font-size:1.45rem}
 .about-page .about-method-copy .ui-button{font-size:.95rem;padding-inline:1rem}
}

/* Compact navigation, with the existing smaller state retained on scroll. */
.site-header{min-height:5.3rem;padding:.7rem 1.5rem}
.site-header .logo{height:3.4rem}
.site-header .header-contact{min-height:2.8rem;padding:.65rem 1.2rem}
.site-header.scrolled{min-height:3.9rem;padding:.35rem 1.5rem}
.site-header.scrolled .logo{height:2.55rem}
.site-header .logo .header-monogram{width:2.55rem;height:2.55rem}

/* One radius family: matching corners, with smaller inset photo corners. */
:root{--shape-card:1.75rem;--shape-photo:1.75rem;--shape-inset:1.05rem;--shape-panel:2.25rem}
main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.approach-pillar,.approach-card,.reviews-quote,.process-panel,.competence-cloud,.individual-intro .manifesto,.approach-statement,.accordion details),
.home-page .principles-grid article,
.about-story-panel .founder-profile,
.contact-layout form{border-radius:var(--shape-card)}
main :is(.home-hero-photo,.opening-photo,.skills-photo,.education-photo),
.about-page .about-hero-photo>img{border-radius:var(--shape-photo)}
main .service-photo,
.about-story-panel .founder-profile>.profile-portrait{border-radius:var(--shape-inset);overflow:hidden}
.about-page .about-method-open,
.about-page .about-intro-stack .about-story-panel{border-radius:var(--shape-panel)}
@media(max-width:750px){
 :root{--shape-card:1.4rem;--shape-photo:1.4rem;--shape-inset:.85rem;--shape-panel:1.75rem}
 .site-header{min-height:4.2rem;padding:.5rem .8rem}
 .site-header .logo{height:2.85rem}
 .site-header .header-contact{min-height:2.5rem;padding:.5rem .75rem}
 .site-header.scrolled{min-height:3.45rem;padding:.3rem .8rem}
 .site-header.scrolled .logo{height:2.35rem}
 .site-header .logo .header-monogram{width:2.35rem;height:2.35rem}
}
@media(max-width:360px){.site-header,.site-header.scrolled{padding-inline:.7rem}}

/* Quiet menu with a palette-orange highlight reserved for Tailor Made. */
.service-submenu,.mobile-nav .service-submenu{background:#fafbf9}
.service-submenu a:hover,.service-submenu a[aria-current=page]{background:#dfece6}
.service-submenu a[href$="/tailor-made.html"]{background:#ffb454;border:1px solid #e38a2633;margin-top:.6rem;font-weight:600}
.service-submenu a[href$="/tailor-made.html"]:hover{background:#ffab3d}
.service-submenu a[href$="/tailor-made.html"][aria-current=page]{background:#ffab3d;box-shadow:inset 0 0 0 1px #9d581e}

/* Text-led cards: remove the empty icon column at every breakpoint. */
.home-page .principles-grid article{grid-template-columns:minmax(0,1fr);gap:0}
main .approach-pillar,main .teacher-card-refined{display:block}
main .approach-pillar h3,main .teacher-card-refined h3{margin-bottom:1rem}
main .education-stage{display:block}
main .competence-cloud>li:not(:has(.competency-icon)){grid-template-columns:minmax(0,1fr);gap:0}

/* Dark closing copy stays readable over the continuous white thread. */
main section:is(.contact,.about-cta,.cta-final),
main section:is(.contact,.about-cta,.cta-final) :is(h2,p,em,strong){color:var(--ink)}

/* Clean photo presentation and the complete portrait on smaller screens. */
.home-page .home-hero-photo{border:0}
.about-story-panel .founders-intro h2 em{color:white}
@media(max-width:900px){
 .about-page .about-hero-photo{height:auto;aspect-ratio:auto}
 .about-page .about-hero-photo>img{height:auto;aspect-ratio:auto;object-fit:contain}
}

/* Header CTA and a single footer identity across all routes. */
.site-header .header-contact{color:white}
footer .footer-logo img{filter:brightness(0)}
.contact-page footer{background:var(--coral);padding:5rem var(--gutter) 2rem}
.contact-page footer .footer-main{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6vw}
@media(max-width:750px){.contact-page footer .footer-main{grid-template-columns:1fr}}

/* Testimonial controls belong to the same yellow card as the quote. */
.reviews-card{min-width:0;background:var(--yellow);border-radius:var(--shape-card);padding:clamp(1.7rem,3.8vw,3.7rem)}
.reviews-card .reviews-quote{padding:0;background:transparent;border-radius:0}
.reviews-card .review-controls{grid-column:auto;margin-top:1.75rem;gap:.65rem;justify-content:flex-start}
.reviews-card .review-controls>button{width:2.75rem;height:2.75rem;border:1px solid var(--orange);background:transparent;color:var(--orange)}
.reviews-card .review-controls>button:hover{background:#ff9b1320}
.reviews-card .review-controls svg{stroke-width:2.3}
.reviews-card .review-dots{margin-left:auto;gap:0}
.reviews-card .review-dots button:before{background:var(--orange);width:.5rem;height:.5rem;opacity:.5}
.reviews-card .review-dots button[aria-pressed=true]:before{background:var(--orange);width:.8rem;height:.8rem;opacity:1}
@media(max-width:750px){
 .reviews-card{padding:1.6rem}
 .reviews-card .review-controls{justify-content:center;gap:.65rem}
 .reviews-card .review-dots{flex-basis:100%;justify-content:center;margin:0}
}
@media(max-width:380px){.reviews-card{padding:1.25rem}}

/* Home refinements: lighter caption and consistent coral emphasis. */
.home-page .home-hero-photo figcaption{background:#ffffff9c;backdrop-filter:blur(4px)}
.home-page .hub-intro h2 em,.home-page .hub-intro p strong{text-decoration-color:var(--coral)}
.home-page .hub-intro>p:last-child{font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.6;max-width:43rem}
.home-page .service-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
.home-page .service-photo{height:auto;min-height:0;aspect-ratio:3/2}
.home-page .service-copy{padding:1.5rem;min-height:0}

/* Previous and next flank the centered, equally spaced pagination dots. */
.reviews-card .review-controls{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:.5rem}
.reviews-card .review-controls>[data-previous]{grid-column:1;grid-row:1}
.reviews-card .review-controls>[data-next]{grid-column:3;grid-row:1}
.reviews-card .review-dots{grid-column:2;grid-row:1;justify-content:center;margin:0;min-width:0}
.reviews-card .review-dots button:before{opacity:.85}
.reviews-card .review-dots button[aria-pressed=true]:before{opacity:1}
.reviews-card .review-slide cite strong{font-weight:700}

/* No white text patch or gap interrupts the local hero thread. */
.about-page .about-hero-copy{background:transparent}
.about-page .about-intro-stack .about-story-panel{margin-top:0}
@media(max-width:420px){
 .home-page .service-copy{padding:1.25rem}
 .reviews-card .review-dots button{width:2.5rem}
}

/* The services form one continuous row, with native swiping on small screens. */
.home-page .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;align-items:stretch}
.home-page .service-copy{padding:1.2rem .65rem .65rem}
.home-page .service-copy h3{font-size:clamp(1.3rem,1.65vw,1.65rem)}
.home-page .service-copy p{font-size:1rem;line-height:1.7}
.home-page .hub-intro>p:last-child{font-size:clamp(1.8rem,2.9vw,3rem);line-height:1.45;max-width:28ch}
@media(max-width:1100px){
 .home-page .service-grid{grid-template-columns:repeat(4,minmax(17rem,1fr));overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:0 0 1rem;scrollbar-color:var(--coral) transparent}
 .home-page .service-card{scroll-snap-align:start}
}
@media(max-width:600px){.home-page .service-grid{grid-template-columns:repeat(4,82%);gap:1rem}}

/* Brand originals retain their detail and natural proportions. */
.brand-filu{display:block;width:5.5rem;height:6.4rem;object-fit:contain;margin-bottom:1.25rem}
.home-page .principles-grid article{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.6rem;align-items:start}
.home-page .principles-grid .brand-filu{margin:0}
.method-symbol{width:100%;height:8.5rem;object-fit:contain;object-position:left center;margin-bottom:1.8rem}
.school-hero-visual{min-width:0;position:relative;padding-top:3rem}
.school-hero-visual .school-hero-photo{height:auto;max-height:none;aspect-ratio:4/3}
.school-hero-visual .school-hero-photo img{width:100%;height:100%;object-fit:cover}
.school-hero-filu{position:absolute;top:0;right:7%;width:5.5rem;height:6.4rem;object-fit:contain;z-index:3}
.school-hero-visual .opening-photo{isolation:auto}
.education-stage .brand-filu{margin-bottom:1.5rem}
.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
main .teacher-grid .teacher-card-refined{display:block;grid-column:auto;padding:clamp(1.5rem,2.5vw,2.2rem);background:var(--aqua);color:var(--ink)}
main .teacher-grid .teacher-card-refined:nth-child(2){background:var(--pink)}
main .teacher-grid .teacher-card-refined:nth-child(3){background:var(--yellow)}
main .teacher-grid .teacher-card-refined h3{margin:0 0 1.2rem;font-size:clamp(1.4rem,2vw,1.7rem);line-height:1.3}
main .teacher-grid .teacher-card-refined p{font-size:1.0625rem;line-height:1.8;margin:0}
.about-page .manifesto-statement>div{text-align:center}
.about-page .manifesto-statement h2{margin-inline:auto}
.about-story-panel .founder-profile>.profile-portrait{aspect-ratio:3/2}
.about-story-panel .profile-portrait img{object-fit:contain;object-position:center}

/* Open editorial typography for the individual introduction. */
.individual-intro .manifesto{display:block;background:transparent;padding:clamp(1rem,3vw,3rem) 0;border:0;border-radius:0;box-shadow:none;max-width:66rem;margin-inline:auto;text-align:center}
.individual-intro .manifesto__big{font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.4;max-width:25ch;margin-inline:auto}
.individual-intro .manifesto__big b{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:.1em;text-underline-offset:.17em}
main .individual-intro .manifesto__note{font-size:clamp(1.2rem,1.65vw,1.65rem);line-height:1.75;max-width:48rem;margin:2rem auto 0}
body[data-page=contatti]{--thread-ink:var(--orange)}
.site-header .menu-contact{background:var(--coral);color:white}
.contact-page .contact-layout form{background:#d9eeee;border-color:transparent}

/* No card hover highlight; simple orange chevrons sit above the quotation. */
main .reviews-card,main .reviews-card:hover,main .reviews-card .reviews-quote.thread-surface,
main .reviews-card .reviews-quote.thread-surface:is(:hover,:focus-within){box-shadow:none!important;translate:none!important;scale:none!important;transform:none!important}
.reviews-card .review-controls{display:flex;justify-content:center;gap:1rem;margin:0 0 1.5rem}
.reviews-card .review-controls>button{background:transparent;border:0;border-radius:0;color:var(--orange);width:2.75rem;height:2.75rem}
.reviews-card .review-controls>button:is(:hover,:focus-visible){background:transparent;box-shadow:none}
.reviews-card .review-controls svg{width:1.6rem;height:1.6rem;stroke-width:2.5}
.reviews-card>.review-dots{display:flex;justify-content:center;margin:1.5rem 0 0}
@media(max-width:980px){.teacher-grid{grid-template-columns:1fr}}
@media(max-width:600px){
 .home-page .principles-grid article{grid-template-columns:1fr;gap:1rem;padding:1.6rem}
 .home-page .principles-grid .brand-filu{width:5rem;height:5.8rem}
 .method-symbol{height:7rem}
}

.footer-socials{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.footer-socials a{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.4rem .8rem;border:1px solid #29262655;border-radius:999px;font-size:.95rem}
.footer-socials svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.7}
.footer-socials .social-dot{fill:currentColor;stroke:none}
.footer-socials a:hover{background:#ffffff30}

/* Soft, irregular brand underlines that follow wrapped words. */
.home-page .hub-intro h2 em,.home-page .hub-intro p strong,
.individual-intro .manifesto__big b{text-decoration:none;background-image:url('./assets/brand/hand-underline.svg');background-repeat:no-repeat;background-size:100% .25em;background-position:left bottom;padding-bottom:.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.home-page .hub-intro>p:last-child{font-size:clamp(2rem,3.5vw,3.7rem);font-weight:500;line-height:1.4;max-width:24ch}
.site-header .menu-mark:before,.site-header .menu-mark:after{background:white}
.home-page .service-photo{aspect-ratio:auto;height:clamp(17rem,24vw,23rem);min-height:0}
.home-page .service-copy .service-arrow{transition:background-color .24s ease,color .24s ease}
.home-page .service-card:is(:hover,:focus-visible) .service-arrow{background:var(--coral);color:white;box-shadow:none;border-color:transparent}
.home-page .service-card:is(:hover,:focus-visible) .service-arrow svg{stroke:white}

/* Chevrons flank the quote without a circle, safely inside the card edge. */
.reviews-card{position:relative;padding-inline:clamp(3.1rem,5vw,4.5rem)}
.reviews-card .review-controls{position:absolute;top:50%;left:.25rem;right:.25rem;transform:translateY(-50%);margin:0;display:flex;justify-content:space-between;gap:0;pointer-events:none;z-index:3}
.reviews-card .review-controls>button{pointer-events:auto;flex:0 0 2.75rem;background:transparent;border:0;box-shadow:none}
.social-letter{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;font:700 1.25rem/1 Arial,sans-serif}
@media(max-width:600px){
 .home-page .service-photo{height:20rem;max-height:90vw}
 .reviews-card{padding-inline:2.8rem}
 .reviews-card .review-controls{left:0;right:0}
 .reviews-card .review-controls>button{width:2.75rem}
}

/* Generous, separate illustrations above the three colored text panels. */
.method-pillar-item{display:flex;flex-direction:column;min-width:0;align-items:stretch}
.method-pillar-item .method-symbol{display:block;width:100%;height:clamp(11rem,18vw,15rem);object-fit:contain;object-position:center;margin:0 auto 1.5rem}
.method-pillar-item .approach-pillar{flex:1;padding:2rem;display:block}
.method-pillar-item:nth-child(1) .approach-pillar{background:var(--aqua)}
.method-pillar-item:nth-child(2) .approach-pillar{background:var(--yellow)}
.method-pillar-item:nth-child(3) .approach-pillar{background:var(--pink)}
main .approach-pillars{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.5rem}

/* Wide photo-led cards stay in one row with accessible native scrolling. */
.home-page .service-grid{grid-template-columns:repeat(4,minmax(20rem,1fr));gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:.5rem .35rem 1.2rem;scroll-padding-inline:.35rem;scrollbar-width:thin;scrollbar-color:var(--coral) transparent}
.home-page .service-grid:focus-visible{outline:2px solid var(--coral);outline-offset:5px;border-radius:.5rem}
.home-page .service-card{padding:.65rem;scroll-snap-align:start;grid-template-rows:auto 1fr;min-width:0}
.home-page .service-photo{height:auto;max-height:none;min-height:0;aspect-ratio:3/2;border-radius:1.2rem}
.home-page .service-copy{padding:1.25rem .85rem .75rem;min-height:0;gap:.85rem}
.home-page .service-copy h3{font-size:clamp(1.55rem,2vw,1.85rem);line-height:1.2;margin:0}
.home-page .service-copy p{font-size:1.0625rem;line-height:1.6;margin:0 0 .5rem}
.home-page .service-copy .service-arrow{margin-top:auto;width:2.75rem;height:2.75rem;align-self:flex-end}
@media(max-width:750px){
 main .approach-pillars{grid-template-columns:1fr;gap:2.5rem}
 .method-pillar-item .method-symbol{height:12rem;margin-bottom:1.25rem}
 .method-pillar-item .approach-pillar{padding:1.75rem}
 .home-page .service-grid{grid-template-columns:repeat(4,minmax(0,86%));gap:1rem}
 .home-page .service-copy{padding:1.1rem .65rem .65rem}
 .home-page .service-copy h3{font-size:1.6rem}
}

/* Air around each original symbol keeps it distinct from its text card. */
.method-pillar-item{gap:0;position:relative}
.method-pillar-item .method-symbol{height:17.5rem;width:100%;max-width:21rem;margin:0 auto 2rem;object-fit:contain;position:relative;z-index:2}
.method-pillar-item .approach-pillar{border-radius:1.75rem;padding:2rem;box-shadow:none}
.services-navigation{display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;margin:0 .35rem 1rem}
.services-navigation[hidden]{display:none}
.services-position{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.services-buttons{display:flex;gap:.65rem}
.services-buttons button{display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1.5px solid var(--coral);border-radius:50%;background:transparent;color:var(--coral);cursor:pointer;transition:background .2s,color .2s}
.services-buttons svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-buttons button:hover:not(:disabled){background:var(--coral);color:white}
.services-buttons button:disabled{opacity:.3;cursor:default}
.services-buttons button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.home-page .service-grid{grid-template-columns:repeat(4,minmax(21rem,31%));gap:1.4rem;scroll-snap-type:x mandatory;padding-top:.75rem;padding-bottom:1.5rem}
.home-page .service-card{border:1px solid #29262608;border-radius:1.9rem;padding:.7rem;box-shadow:0 4px 12px #29262608}
.home-page .service-photo{aspect-ratio:1.65;border-radius:1.3rem}
.home-page .service-copy{padding:1.3rem 1rem .9rem;gap:1rem}
.home-page .service-copy h3{min-height:2.4em;font-size:1.7rem}
.home-page .service-copy p{line-height:1.55}
.home-page .service-copy .service-arrow{background:#ffffff65;border:0}
@media(max-width:750px){
 .method-pillar-item .method-symbol{height:15rem;max-width:18rem;margin-bottom:1.6rem}
 .home-page .service-grid{grid-template-columns:repeat(4,88%);gap:1rem}
 .home-page .service-copy{padding:1.1rem .75rem .7rem}
 .home-page .service-copy h3{font-size:1.55rem}
 .services-navigation{margin-bottom:.5rem}
}

/* Reference-led editorial refinement: clear text, calm surfaces, no carousel. */
.home-page .service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;overflow:visible;padding:0;scroll-snap-type:none}
.home-page .service-card{display:flex;flex-direction:column;padding:0;border:0;border-radius:1.6rem;overflow:hidden;box-shadow:none;gap:0}
.home-page .service-copy{padding:1.7rem 1.35rem 1.5rem;display:block;flex:1}
.home-page .service-copy h3{font-size:clamp(1.35rem,1.7vw,1.8rem);min-height:0;line-height:1.2;margin-bottom:1rem}
.home-page .service-copy p{font-size:1rem;line-height:1.6;margin:0}
.home-page .service-photo{width:100%;height:auto;aspect-ratio:1.22;flex:none;border-radius:1.4rem 1.4rem 0 0;position:relative;overflow:hidden}
.home-page .service-photo img{width:100%;height:100%;object-fit:cover}
.service-discover{position:absolute;bottom:1rem;left:1rem;display:inline-flex;align-items:center;gap:.8rem;background:white;color:#b74327;padding:.7rem 1rem;border-radius:.6rem;font-size:.95rem;font-weight:600;z-index:2}
.service-discover svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;transition:translate .2s}
.service-card:hover .service-discover svg{translate:3px 0}
.home-page .hub-intro h2,.home-page .hub-intro>p:last-child{font-size:clamp(2rem,3.5vw,3.7rem);font-weight:600;line-height:1.35;letter-spacing:-.035em;max-width:27ch}
.home-page .hub-intro h2 em,.home-page .hub-intro p strong,.individual-intro .manifesto__big b,.approach-statement strong{color:var(--coral);font-weight:inherit;font-style:normal;text-decoration:none;background-image:url('./assets/brand/fine-underline.svg');background-size:100% .23em;background-position:center bottom;background-repeat:no-repeat;padding-bottom:.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.home-page .method{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.home-page .method-heading{display:block;margin:0}
.home-page .method-heading h2{max-width:11ch;margin-bottom:1.75rem}
.home-page .method-heading>p{margin:0 0 2rem;font-size:1.125rem;line-height:1.8}
.home-page .method-heading .ui-button{display:inline-flex;color:white}
.home-page .principles-grid{grid-template-columns:1fr;gap:1rem}
.home-page .principles-grid article{grid-template-columns:4.5rem minmax(0,1fr);padding:1.5rem 1.75rem;gap:1.5rem;align-items:center}
.home-page .principles-grid .brand-filu{width:4.5rem;height:5.5rem}
.home-page .principles-grid h3{margin-bottom:.55rem;font-size:1.45rem}
.home-page .principles-grid p{font-size:1rem;line-height:1.65;margin:0}
.home-page .shared-faq .faq-heading{max-width:none;margin-inline:0}
.home-page .shared-faq .accordion{max-width:none}

/* Open columns for mind, hands and heart, without colored panels. */
main .approach-pillars{gap:clamp(2rem,5vw,5rem);margin-top:3rem}
.method-pillar-item .method-symbol{width:7.5rem;height:7.5rem;max-width:none;object-fit:contain;margin:0 0 1.75rem}
main .method-pillar-item .approach-pillar,main .method-pillar-item .approach-pillar:is(:hover,:focus-within){background:transparent;border:0;padding:0;border-radius:0;box-shadow:none;translate:none;scale:none}
.method-pillar-item{padding:0;gap:0}
.method-pillar-item h3{font-size:1.6rem}
.method-pillar-item p{font-size:1.0625rem;line-height:1.85}
main .approach-statement{background:transparent;padding:0;border-radius:0;box-shadow:none;margin-top:2rem;font-size:clamp(1.8rem,2.5vw,2.7rem);line-height:1.5}
main .approach-statement strong{font-weight:600}
.approach-heading{margin-top:5rem}

/* One coherent numbered-card treatment on every process section. */
main .process-panel{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.process-panel>.wrap{padding:0;max-width:none;width:100%}
main .process-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:2.5rem}
main .process-timeline>li{display:flex;flex-direction:column;gap:1.25rem;border:1px solid #91d0d155;border-radius:1.5rem;background:#f1f7f6;padding:1.6rem;min-width:0}
main .process-timeline>li:after{display:none!important}
main .process-timeline>li>span{width:3.2rem;height:3.2rem;display:grid;place-items:center;border-radius:1rem;background:var(--aqua);font-size:1.25rem;font-weight:700}
main .process-timeline>li:nth-child(2)>span{background:var(--yellow)}
main .process-timeline>li:nth-child(3)>span{background:var(--pink)}
main .process-timeline>li:nth-child(4)>span{background:var(--orange)}
main .process-timeline p{font-size:1.0625rem;line-height:1.75;margin:0}
.section-lead{font-size:1.125rem;line-height:1.8;max-width:55rem;margin:1.5rem 0 2rem}
.school-page #a-chi .center{text-align:left;align-items:flex-start}
main .planning-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:0;background:transparent;border:0}
main .planning-row{display:flex;flex-direction:column;gap:1.2rem;background:var(--aqua);padding:2rem;border:0;border-radius:1.75rem}
main .planning-row:nth-child(2){background:var(--pink)}
main .planning-row:nth-child(3){background:var(--yellow)}
main .planning-row .section-number{background:#ffffff80;width:3.2rem;height:3.2rem;border-radius:1rem;font-size:1.4rem;font-weight:700}
main .planning-row h3{font-size:1.55rem;margin:0}
main .planning-row p:not(.section-number){margin:0;font-size:1.0625rem;line-height:1.75}
.site-header,.site-header.scrolled{background:#fffdf8;border-color:#eee5d9;box-shadow:0 6px 22px #29262612}
.site-header .service-submenu a:is(:hover,:focus-visible),.site-header .service-submenu a[href$="/tailor-made.html"]:hover{background:#ffd29a;color:var(--ink)}
main :is(.contact,.about-cta,.cta-final) .ui-button{background:var(--coral);color:white}
.contact-page .contact-layout form{background:var(--aqua);border:0}
footer .footer-main,.contact-page footer .footer-main{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}
footer nav{grid-template-columns:1fr 1fr;gap:2rem}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.footer-link-group h3{font-size:1.1rem;font-weight:700;margin:0 0 .6rem}
footer .footer-legal{margin-top:3.5rem}
footer .footer-socials{gap:.6rem}
.contact-page footer.contact-footer-wave{padding-top:7rem}
.contact-footer-wave-top{position:absolute;top:-1px;left:0;width:100%;height:4rem;fill:white;pointer-events:none}
@media(max-width:1200px){
 .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
 .home-page .service-photo{aspect-ratio:1.7}
 .home-page .service-copy h3{font-size:1.7rem}
 main .process-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .home-page .method{grid-template-columns:1fr;gap:2.5rem}
 .home-page .method-heading h2{max-width:none}
 main .approach-pillars{grid-template-columns:1fr;gap:2.8rem}
 .method-pillar-item{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.4rem;align-items:start}
 .method-pillar-item .method-symbol{width:5.5rem;height:6rem;margin:0}
 main .planning-rows{grid-template-columns:1fr}
 footer .footer-main,.contact-page footer .footer-main{grid-template-columns:1fr;gap:3rem}
}
@media(max-width:550px){
 .home-page .service-grid,main .process-timeline{grid-template-columns:1fr}
 .home-page .service-photo{aspect-ratio:1.4}
 .home-page .service-copy{padding:1.6rem}
 .home-page .principles-grid article{padding:1.3rem;gap:1rem;grid-template-columns:3.5rem minmax(0,1fr)}
 .home-page .principles-grid .brand-filu{width:3.5rem;height:4.5rem}
 .method-pillar-item{display:flex}
 .method-pillar-item .method-symbol{width:6rem;height:6rem;margin-bottom:1rem}
 footer nav{gap:1rem}
}
/* Equal manifesto sizing overrides the shared paragraph rule on purpose. */
#chi-siamo .hub-intro h2,#chi-siamo .hub-intro>p:last-child{font-size:clamp(2rem,3.5vw,3.7rem);font-weight:600;line-height:1.35;letter-spacing:-.035em;max-width:27ch}
main .method-pillar-item .approach-pillar,main .method-pillar-item .approach-pillar:is(:hover,:focus-within),main .approach-statement{background:white}

/* Wider service cards: photography above, generous copy and clear CTA below. */
.home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.home-page .service-card{display:flex;flex-direction:column;border-radius:1.75rem}
.home-page .service-photo{aspect-ratio:1.9;border-radius:0;height:auto}
.home-page .service-copy{display:flex;flex-direction:column;align-items:flex-start;padding:1.75rem 2rem 2rem;gap:1rem}
.home-page .service-copy h3{font-size:clamp(1.55rem,2.2vw,2rem);margin:0}
.home-page .service-copy p{margin:0 0 .4rem;max-width:44ch}
.home-page .service-discover{position:static;margin-top:auto;padding:.6rem 0;background:transparent;border-radius:0;color:var(--ink);gap:.8rem}
.home-page .service-discover svg{color:var(--ink)}
.school-page #a-chi .center{text-align:center;align-items:center}
.school-page #a-chi .section-title,.school-page #a-chi .section-lead{margin-inline:auto;text-align:center}
main :is(.contact,.about-cta,.cta-final) .ui-button{color:#000}

/* Numbered steps share the welcoming palette and spacing of the home method. */
main .process-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
main .process-timeline>li{display:grid;grid-template-columns:3.75rem minmax(0,1fr);align-items:start;gap:1.4rem;padding:1.9rem 2rem;border:0;border-radius:1.75rem;background:var(--aqua)}
main .process-timeline>li:nth-child(2){background:var(--yellow)}
main .process-timeline>li:nth-child(3){background:var(--pink)}
main .process-timeline>li:nth-child(4){background:var(--orange)}
main .process-timeline>li>span,main .process-timeline>li:nth-child(n)>span{width:3.75rem;height:3.75rem;border-radius:1.2rem;background:#ffffff65;color:var(--ink);font-size:1.6rem;font-weight:600;letter-spacing:-.06em}
main .process-timeline>li p{margin:0;font-size:1.1rem;line-height:1.75}

/* The three dimensions are editorial columns, not colored cards. */
.method-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);margin-top:3rem}
.method-feature{min-width:0;display:flex;flex-direction:column;gap:1.5rem}
.method-feature-icon{display:block;width:6rem;height:6rem;object-fit:contain;object-position:left center}
.method-feature-copy{background:white;position:relative;z-index:1;padding:0;border:0;border-radius:0;box-shadow:none}
.method-feature-copy h3{font-size:1.6rem;line-height:1.25;margin:0 0 1rem}
.method-feature-copy p{margin:0;line-height:1.85}
.method-features+.process-section{margin-top:3rem}
main .competence-cloud{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){
 .method-features{grid-template-columns:1fr;gap:2.75rem}
 .method-feature{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1.4rem}
 .method-feature-icon{width:5rem;height:5rem}
 main .process-timeline{grid-template-columns:1fr}
 main .competence-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .service-grid{gap:1.3rem}
 .home-page .service-copy{padding:1.5rem}
}
@media(max-width:550px){
 .home-page .service-grid,main .competence-cloud{grid-template-columns:1fr}
 .home-page .service-photo{aspect-ratio:1.5}
 main .process-timeline>li{padding:1.5rem;grid-template-columns:3rem minmax(0,1fr);gap:1rem}
 main .process-timeline>li>span,main .process-timeline>li:nth-child(n)>span{width:3rem;height:3rem;font-size:1.35rem;border-radius:1rem}
}

/* Final alignment and consistent editorial emphasis. */
.school-page #a-chi .center{text-align:left;align-items:flex-start}
.school-page #a-chi .section-title,.school-page #a-chi .section-lead{text-align:left;margin-inline:0}
.method-approach .prose p+p{margin-top:1.4rem}
.method-dimensions .approach-heading{margin-top:0}
.method-feature{position:relative;isolation:isolate;z-index:2;background:white}
.method-feature-icon{background:white}
#chi-siamo .hub-intro h2,#chi-siamo .hub-intro>p:last-child,.individual-intro .manifesto__big{font-family:Poppins,sans-serif;font-size:clamp(1.8rem,2.8vw,3rem);font-weight:500;line-height:1.4;letter-spacing:-.035em;max-width:29ch}
#chi-siamo .hub-intro h2 em,#chi-siamo .hub-intro p strong,.individual-intro .manifesto__big b{font-weight:600;color:var(--ink);background-image:none;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:.065em;text-underline-offset:.16em;text-decoration-skip-ink:none;padding-bottom:0}
.home-page .service-discover{display:grid;place-items:center;align-self:flex-end;width:3.1rem;height:3.1rem;padding:0;border-radius:50%;background:white;color:var(--ink);transition:background-color .22s,color .22s}
.home-page .service-discover svg{width:1.4rem;height:1.4rem;stroke:currentColor;color:inherit}
.home-page .service-card:is(:hover,:focus-visible) .service-discover{background:var(--coral);color:white}
.home-page .service-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.home-page .service-discover,.home-page .service-discover svg{transition:none;translate:none}}

/* Let the same continuous page thread remain visible through the open
   editorial section. No white panels, masks or fading interrupt its curve. */
.method-page .method-dimensions,
.method-page .method-dimensions .approach-heading,
.method-page .method-dimensions .method-features,
.method-page .method-dimensions .method-feature,
.method-page .method-dimensions .method-feature-icon,
.method-page .method-dimensions .method-feature-copy{background:transparent}

/* The original wordmark gently folds away as the compact monogram appears. */
.site-header .logo{transition:height .5s cubic-bezier(.22,1,.36,1)}
.site-header .logo img{transform-origin:left center;transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.site-header .header-wordmark{transform:translateY(-50%) scale(1);opacity:1}
.site-header .logo .header-monogram{transform:translateY(-45%) scale(.86);opacity:0;mix-blend-mode:normal}
.site-header.scrolled .header-wordmark{transform:translateY(-55%) scale(.94);opacity:0}
.site-header.scrolled .logo .header-monogram{transform:translateY(-50%) scale(1);opacity:1;transition-delay:.12s}
.site-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#fffdf8;pointer-events:none;animation:intro-away .5s cubic-bezier(.22,1,.36,1) 2.6s both}
.intro-logo{width:clamp(7rem,16vw,11rem);height:auto;overflow:visible}
.intro-pen{fill:none;stroke:white;stroke-width:33;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:intro-write 1.1s ease-in-out .1s forwards}
.intro-pen-cross{stroke-width:29;animation-duration:.28s;animation-delay:.85s}
.intro-pen-a{stroke-width:35;animation-duration:1.1s;animation-delay:1s}
.intro-dot{opacity:0;transform-origin:93px 107px;animation:intro-dot .35s ease 2s forwards}
@keyframes intro-write{to{stroke-dashoffset:0}}
@keyframes intro-dot{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes intro-away{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none}.site-header .logo,.site-header .logo img{transition:none}}

/* Header geometry: the CTA and logo share a centerline and equal outer insets. */
:root{--header-paper:#fafbf9;--menu-wash:color-mix(in srgb,var(--aqua) 32%,white);--wave-coral:url('./assets/brand/wave-coral.svg');--wave-white:url('./assets/brand/wave-white.svg');--wave-aqua:url('./assets/brand/wave-aqua.svg')}
.site-header,.site-header.scrolled{--header-inset:.6rem;--header-control:3.2rem;min-height:0;padding:var(--header-inset);padding-left:1.1rem;align-items:center;background:var(--header-paper);border-color:color-mix(in srgb,var(--aqua) 20%,white)}
.site-header.scrolled{--header-inset:.45rem;--header-control:2.65rem}
.site-header .logo,.site-header.scrolled .logo{height:var(--header-control);width:clamp(8rem,13.5vw,12rem);margin-block:0;transition:height .55s ease}
.site-header .logo img,.site-header.scrolled .logo img{left:50%;top:50%;object-position:center;transform:translate(-50%,-50%);transform-origin:center;transition:clip-path .65s cubic-bezier(.4,0,.2,1),opacity .35s ease}
.site-header .header-wordmark{clip-path:inset(0 0 0 0);opacity:1}
.site-header.scrolled .header-wordmark{clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path .65s cubic-bezier(.4,0,.2,1),opacity .2s .4s}
.site-header .logo .header-monogram{width:var(--header-control);height:var(--header-control);opacity:0;clip-path:inset(0 100% 0 0)}
.site-header.scrolled .logo .header-monogram{opacity:1;clip-path:inset(0);transition-delay:.3s}
.site-header .header-contact,.site-header.scrolled .header-contact{height:var(--header-control);min-height:var(--header-control);padding:0 1.25rem;align-self:center;margin:0;font-size:.95rem}
.site-header .service-submenu a:is(:hover,:focus-visible,[aria-current=page]){background:var(--menu-wash);color:var(--ink)}
.site-header .service-submenu a[href$="/tailor-made.html"],.site-header .service-submenu a[href$="/tailor-made.html"]:is(:hover,:focus-visible,[aria-current=page]){background:var(--aqua);color:var(--ink)}
.site-header :is(.desktop-nav,.menu-pages)>a:is(:hover,:focus-visible,[aria-current=page]){background-color:var(--menu-wash);text-decoration:none;border-radius:.5rem}
/* The wave repeats at a stable wavelength rather than stretching tall on short words. */
#chi-siamo .hub-intro h2 em,#chi-siamo .hub-intro p strong,.individual-intro .manifesto__big b,.about-page .about-method-open h2 em{background-image:var(--wave-coral);background-repeat:repeat-x;background-size:5.5em .35em;background-position:left bottom;padding-bottom:.25em;text-decoration:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.about-page .about-method-open h2 em{background-image:var(--wave-white)}
.site-header :is(nav a,nav summary):is(:hover,:focus-visible,[aria-current=page]),footer nav a:is(:hover,:focus-visible,[aria-current=page]),.footer-email,.contact-availability a{background-image:var(--wave-coral);background-repeat:repeat-x;background-size:5rem .45rem;background-position:left bottom;text-decoration:none;text-underline-offset:0}
.site-header :is(nav a,nav summary):is(:hover,:focus-visible,[aria-current=page]){background-image:var(--wave-aqua)}
footer nav a:is(:hover,:focus-visible,[aria-current=page]),.footer-email{background-image:var(--wave-white)}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.contact-layout :is(input,select,textarea):focus-visible{border-color:var(--coral);box-shadow:0 0 0 4px color-mix(in srgb,var(--coral) 20%,transparent)}
.rotating-word::after{content:'';display:inline-block;width:.045em;height:.85em;background:var(--coral);vertical-align:-.02em;margin-left:.08em;animation:typing-caret .85s steps(1,end) infinite}
@keyframes typing-caret{50%{opacity:0}}
/* Consistent pale number tiles, independent of each card's background. */
.tailor-page .planning-row .section-number,.tailor-page .planning-row:nth-child(n) .section-number{display:grid;place-items:center;width:3.2rem;height:3.2rem;flex:none;border-radius:1rem;background:color-mix(in srgb,var(--aqua) 50%,white);color:var(--ink);font-size:1.4rem;font-weight:700;line-height:1;margin:0}
.home-page .principles-grid article:first-child{background:var(--pink)}
.home-page .principles-grid article:nth-child(3){background:var(--aqua)}
.about-story-panel .founder-profile,.about-story-panel .founder-profile>.profile-portrait{box-shadow:none;filter:none;background:white}
.about-story-panel .founder-profile:first-child .profile-portrait img{transform:scale(1.05);transform-origin:50% 45%}
.about-story-panel .founder-profile:nth-child(2) .profile-portrait img{transform:none}
/* Palette selection follows each section consistently, never randomly. */
main section:nth-of-type(4n+1) ::selection{background:var(--aqua);color:var(--ink)}
main section:nth-of-type(4n+2) ::selection{background:var(--yellow);color:var(--ink)}
main section:nth-of-type(4n+3) ::selection{background:var(--pink);color:var(--ink)}
main section:nth-of-type(4n) ::selection{background:var(--orange);color:var(--ink)}
footer ::selection,.site-header ::selection{background:var(--aqua);color:var(--ink)}
/* Write at a steadier pace, then let the finished mark settle before fading. */
.site-intro{background:var(--header-paper);animation:intro-away .6s cubic-bezier(.22,1,.36,1) 2.6s both}
.intro-pen{animation-timing-function:cubic-bezier(.35,0,.65,1)}
.intro-pen-f{animation-duration:1.2s;animation-delay:.1s}
.intro-pen-cross{animation-duration:.35s;animation-delay:.82s}
.intro-pen-a{animation-duration:1.25s;animation-delay:.95s}
.intro-dot{animation-duration:.45s;animation-delay:1.95s}
@keyframes intro-dot{from{opacity:0}to{opacity:1}}
@media(max-width:980px){
 .site-header,.site-header.scrolled{--header-inset:.5rem;--header-control:2.75rem;gap:.6rem;padding:var(--header-inset);padding-left:.85rem}
 .site-header.scrolled{--header-inset:.4rem;--header-control:2.4rem}
 .site-header .logo{order:0;margin-right:auto}
 .site-header .menu-toggle{order:2;width:var(--header-control);height:var(--header-control)}
 .site-header .header-contact{order:3}
 .site-header .mobile-nav{order:4}
 .site-header .header-contact,.site-header.scrolled .header-contact{padding-inline:.85rem;font-size:.875rem}
}
@media(max-width:600px){
 .site-header .logo,.site-header.scrolled .logo{width:7.3rem}
 .footer-thread{left:0;right:0;width:100%;max-width:none}
}
@media(prefers-reduced-motion:reduce){.rotating-word::after{animation:none}.site-header .logo,.site-header .logo img,.site-header.scrolled .logo img{transition:none}.site-intro{display:none}}
.contact-layout :is(input,select,textarea):focus{outline-color:var(--coral);border-color:var(--coral)}
@media(max-width:360px){.site-header,.site-header.scrolled{gap:.4rem;padding-left:.65rem}.site-header .logo,.site-header.scrolled .logo{width:6.6rem}.site-header .header-contact,.site-header.scrolled .header-contact{padding-inline:.7rem}}

/* Mobile About hero: use the pale coral of the page thread, not the title ink. */
@media(max-width:750px){
 .about-page .about-hero>.hero-thread .thread-colour{stroke:color-mix(in srgb,var(--coral) 55%,white)}
}

/* Compact logo stays at the leading edge, vertically centered in the bar. */
.site-header .logo .header-monogram,.site-header.scrolled .logo .header-monogram{left:0;transform:translateY(-50%)}
.site-header :is(.desktop-nav,.menu-pages)>a:is(:hover,:focus-visible,[aria-current=page]),
.site-header .service-menu>summary:is(:hover,:focus-visible){background-color:transparent}
.site-header .mobile-nav a,.site-header .mobile-nav summary,
.site-header .mobile-nav :is(a,summary):is(:hover,:focus-visible,[aria-current=page]){background-image:none;text-decoration:none}
:root{--number-tile:#ffffff65}
main .process-timeline>li:nth-child(n)>span,
.tailor-page .planning-row:nth-child(n) .section-number{background:var(--number-tile)}
.mail-icon{display:inline-block;width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;margin-right:.5em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-email{display:inline-flex;align-items:center;max-width:100%}
.footer-email span{min-width:0;overflow-wrap:anywhere}
@media(max-width:980px){
 .site-header .header-contact{order:2}
 .site-header .menu-toggle{order:3}
}

/* Constant pen speed avoids repeated acceleration at each stroke. */
.intro-pen{animation-timing-function:linear}
.intro-pen-f{animation-duration:1.25s;animation-delay:.08s}
.intro-pen-cross{animation-duration:.32s;animation-delay:.88s}
.intro-pen-a{animation-duration:1.32s;animation-delay:.94s}
.intro-dot{animation-duration:.38s;animation-delay:2.08s}

/* Seamless waves stay close to their words and never collide with the next line. */
:root{--selection-color:var(--yellow);--wave-coral:url('./assets/brand/wave-coral.svg?v=100');--wave-white:url('./assets/brand/wave-white.svg?v=100');--wave-aqua:url('./assets/brand/wave-aqua.svg?v=100')}
.about-page .about-method-open h2{line-height:1.32}
.about-page .about-method-open h2 em{display:inline-block;white-space:nowrap;line-height:1.2;padding-bottom:.09em;background-size:5.5em .22em;background-position:left bottom}
.ui-button.coral-label,.card-link.coral-label{color:white!important}
.footer-email,.footer-email:is(:hover,:focus-visible),.contact-availability a,.contact-availability a:is(:hover,:focus-visible){background-image:none;text-decoration:none}
/* Tailor Made gets a small palette accent; a full fill is reserved for interaction. */
.site-header .service-submenu a[href$="/tailor-made.html"]{background:transparent;border:2px solid var(--aqua);border-radius:.7rem}
.site-header .service-submenu a[href$="/tailor-made.html"]:is(:hover,:focus-visible,[aria-current=page]){background:var(--menu-wash);border-color:var(--aqua)}
.footer-socials a{display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem;border:0;border-radius:.6rem}
.footer-socials img{width:1.6rem;height:1.6rem;object-fit:contain}
.footer-socials a:hover{background:#ffffff40}
::selection,main section ::selection,footer ::selection,.site-header ::selection{background:var(--selection-color)!important;color:var(--ink)!important}
main :is(p,h2,h3,li,blockquote,cite,.service-copy){-webkit-user-select:text;user-select:text}
main :is(.service-card,.linked-card){-webkit-user-drag:none;user-select:text;cursor:pointer}
main img{-webkit-user-drag:none}
:is(a,button,summary){-webkit-tap-highlight-color:transparent}
:is(a,button,summary):focus:not(:focus-visible){outline:none}
.ui-button:hover{box-shadow:none}
/* Arrow-only controls: a translucent circle appears on intent, never at rest. */
.home-page .service-discover,.home-page .service-arrow{background:transparent;color:var(--ink);border:0;box-shadow:none}
.home-page .service-card:is(:hover,:focus-visible) :is(.service-discover,.service-arrow){background:rgb(255 255 255 / .38);color:var(--ink);box-shadow:none}
.reviews-card .review-controls>button{border-radius:50%;transition:background-color .22s ease,scale .22s ease}
.reviews-card .review-controls>button:is(:hover,:focus-visible){background:rgb(255 255 255 / .38);scale:1.08}
.reviews-card .review-controls svg{transition:translate .22s ease}
.reviews-card .review-controls [data-next]:hover svg{translate:2px 0}
.reviews-card .review-controls [data-previous]:hover svg{translate:-2px 0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.planning-row,.founder-profile,.principles-grid article,.about-method-open,.process-timeline>li){transition:translate .25s ease,box-shadow .25s ease}
 main :is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.planning-row,.founder-profile,.principles-grid article,.about-method-open,.process-timeline>li):is(:hover,:focus-within),main .thread-surface.thread-surface:is(.service-card,.offer-card,.card,.education-stage,.teacher-card-refined,.planning-row,.founder-profile,.about-method-open):is(:hover,:focus-within){translate:0 -3px;scale:1;box-shadow:0 8px 20px #2926260c}
}
@media(hover:none){.ui-button:is(:hover,:active),.service-card:hover .card-link{box-shadow:none}.reviews-card .review-controls>button:hover{scale:1;background:transparent}}
/* Finish drawing at 1.14s, hold the complete logo, then fade out at 1.8s. */
.site-intro{animation-duration:.35s;animation-delay:1.8s}
.intro-pen-f{animation-duration:.6s;animation-delay:.05s}
.intro-pen-cross{animation-duration:.18s;animation-delay:.42s}
.intro-pen-a{animation-duration:.65s;animation-delay:.45s}
.intro-dot{animation-duration:.18s;animation-delay:.96s}
@media(prefers-reduced-motion:reduce){.reviews-card .review-controls>button,.reviews-card .review-controls svg{transition:none;scale:1;translate:none}}

.founder-linkedin .founder-social-icon{width:1.375rem;height:1.375rem;object-fit:contain;flex:none}

/* Footer links remain clear without decorative or native underlines. */
footer a,footer a:is(:hover,:focus-visible,[aria-current=page]){background-image:none;text-decoration:none}
footer .footer-main a,footer .footer-main a:is(:hover,:focus-visible,[aria-current=page]){background-image:none;text-decoration:none}

/* A translucent light wash inherits the underlying card colour. */
.site-header .desktop-nav :is(a,summary):is(:hover,:focus-visible,[aria-current=page]){background-position:left calc(50% + .65em);background-size:5rem .3rem}

/* Menu labels remain undecorated in every interaction state. */
.site-header nav :is(a,summary),.site-header nav :is(a,summary):is(:hover,:focus-visible,[aria-current=page],.active){background-image:none!important;text-decoration:none!important}

/* Sparse editorial underlines, applied only to selected long-form passages. */
.copy-underline{background-image:var(--wave-coral);background-repeat:repeat-x;background-size:5.5em .3em;background-position:left bottom;padding-bottom:.18em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.about-story-panel .copy-underline{background-image:var(--wave-white)}

/* Founder cards share photo, name, role and social-link alignment. */
.about-story-panel .founder-profile{display:flex;flex-direction:column;padding:.875rem;min-width:0}
.about-story-panel .founder-profile>.profile-portrait{width:100%;flex:none;margin:0;aspect-ratio:3/2}
.about-story-panel .founder-profile>div.founder-details{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:1.25rem .5rem .5rem;background:white}
.about-story-panel .founder-profile .founder-details h3{width:100%;min-height:2.5em;margin:0;font-size:clamp(1.5rem,2.2vw,1.75rem);font-weight:600;line-height:1.25;letter-spacing:-.035em;text-wrap:wrap}
.about-story-panel .founder-profile .founder-details>p{margin:.4rem 0 0;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
.about-story-panel .founder-profile .founder-details .founder-linkedin{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:.5rem;width:auto;height:auto;min-height:2.75rem;margin:1.25rem 0 0;padding:.65rem 1rem;font-size:1rem;font-weight:500;line-height:1.25;border:1px solid var(--line);border-radius:999px;background:white}
.about-story-panel .founder-profile .founder-linkedin .founder-social-icon{display:block;width:1.25rem;height:1.25rem;flex:0 0 1.25rem;object-fit:contain;margin:0;transform:none;scale:1}
.about-story-panel .founder-profile .founder-linkedin>span{display:block;line-height:1.25}
@media(max-width:760px){.about-story-panel .founder-profile .founder-details h3{min-height:0}.about-story-panel .founder-profile>div.founder-details{padding:1.1rem .4rem .4rem}}

/* FAQ chevrons match the service-menu direction indicator. */
.shared-faq .accordion summary span,.shared-faq .accordion details[open] summary span{position:static;display:block;width:.45rem;height:.45rem;border:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;border-radius:0;background:none;justify-self:center;transform:rotate(45deg);margin-top:-.25rem;transition:transform .2s}
.shared-faq .accordion details[open] summary span{transform:rotate(225deg);margin-top:.25rem}
.shared-faq .accordion summary span::before,.shared-faq .accordion summary span::after{content:none;display:none}
@media(prefers-reduced-motion:reduce){.shared-faq .accordion summary span{transition:none}}

/* Home introduction follows the black-and-coral heading typography. */
.home-page #chi-siamo .hub-intro h2,.home-page #chi-siamo .hub-intro>p:last-child{color:var(--ink);font-size:clamp(2rem,3.5vw,3.65rem);font-weight:600;line-height:1.14;letter-spacing:-.045em;max-width:29ch;text-wrap:balance}
.home-page #chi-siamo .hub-intro h2 em,.home-page #chi-siamo .hub-intro p strong{color:var(--coral);font-weight:700;font-style:normal;background-image:none;text-decoration:none;padding-bottom:0}

/* Individual introduction uses the same black-and-coral emphasis as headings. */
.individual-page .individual-intro .manifesto__big{color:var(--ink);font-weight:600;line-height:1.35}
.individual-page .individual-intro .manifesto__big b{color:var(--coral);font-weight:700;font-style:normal;background-image:none;text-decoration:none;padding-bottom:0}

/* Hide the decorative thread across every mobile page, including hero and footer. */
@media(max-width:750px){.page-thread,.footer-thread,.hero-thread{display:none!important}}

/* Keep the contact footer's wave flush with its full-width background. */
.contact-page footer.contact-footer-wave{padding-top:calc(clamp(2rem,5vw,4rem) + 3rem)}
.contact-page .contact-footer-wave-top{display:block;top:0;left:-1px;right:auto;width:calc(100% + 2px);max-width:none;height:clamp(2rem,5vw,4rem);margin:0;border:0;z-index:0;overflow:hidden}

/* Match the page thread's translucency through the white footer-wave cutout. */
.contact-page .footer-thread .thread-colour{opacity:var(--thread-opacity,.55)}
