:root{
/* ==========================================================================
   PALETA BAZOWA - warm ivory / soft sage / deep green / grafit / champagne
   Jedno zrodlo prawdy. Nizej role wskazuja na te wartosci - nie dubluj odcieni.
   ========================================================================== */
--bg-main:#FAFAF9;          /* ivory - glowne tlo strony */
--bg-soft:#FAFAF9;          /* soft sage - drugi stopien rytmu sekcji */
--bg-hero:#EDE9FE;          /* hero */
--bg-card:#FFFFFF;          /* near-white - karty i panele */

/* 2026-09-26 (9): system 60/30/10 — tło kremowe #FAFAF9 (60%), lawenda marki #7C6E9B (30%),
   szałwia wspierająca #5A8274, koral CTA #C2410C (10%, wariant AA); karty białe, tekst #1C1917.
   Wcześniej (8): lawenda jako kolor akcji #5B4E8C / akcent #7C6BB0, tła ivory #F7F5EF / szałwia #EEF2ED / mięta #E6EEEA.
   (8): kojąca lawenda zamiast turkusu (niebieski usunięty z całego projektu;
   wyjątek: Messenger #0866FF w kontakt-pin.css zostaje w kolorze marki).
   Nazwy --green-* i --accent-terracotta-* zostają, bo używa ich cały CSS — zmienia się tylko wartość.
   Turkus (irenaustka.pl): dark #063247, primary #0A5F73, soft #0F7F93, hover #074D61;
   tekst #14313A / #466873; akcent #168FA3 / text #08728A / light #7ED4DD; border-soft #C8E5E8.
   Terakota: dark #87401F, primary #B35D32, soft #C06A3C, hover #9C4E27; tekst #27383A / #5E6D6B;
   champagne #C4A66A; terracotta #B35D32 / text #9C4E27 / light #E08A5F / deep #87401F;
   musztarda #D0A04E; border-soft #D5DDD8.
   Jeszcze wcześniej zieleń: dark #183F35, primary #234F43, soft #315E55, hover #173B32. */
--green-dark:#7C2D12;
--green-primary:#C2410C;    /* CTA */
--green-soft:#FB923C;
--green-cta-hover:#9A3412;

--text-main:#1C1917;        /* grafit z nutą fioletu */
--text-muted:#57534E;      /* AA ok. 5,5:1 na ivory */

--accent-champagne:#7C6E9B; /* wylacznie mikroakcent, ok. 5% kompozycji */
/* Akcenty (lawenda i złoto) - ozywiaja detale, nie tla.
   Lawenda #7C6BB0 trzyma min. 3:1 na jasnych tlach, takze na piasku (duzy tekst i ikony). */
--accent-terracotta:#7C6E9B;       /* kursywa w naglowkach, ikony */
--accent-terracotta-text:#6A5D8A;  /* maly tekst (etykiety) - AA na jasnych */
--accent-terracotta-light:#DDD6FE; /* na ciemnym tle */
--accent-terracotta-deep:#4C4166;  /* maly tekst na zdjeciu nieba w kontakcie - min. 5:1 */
--accent-mustard:#DDD6FE;          /* kropki, kreski, rant kart - tylko dekoracja */
--border-soft:#E7E5E4;

/* ==========================================================================
   ROLE - to ich uzywaja arkusze (205 odwolan). Kazda wskazuje na palete wyzej
   albo na jej pochodna o tej samej jasnosci co poprzedni, chlodny odpowiednik.
   ========================================================================== */
/* powierzchnie jasne */
--bg:var(--bg-main);
--surface:var(--bg-card);   /* karty i panele na jasnym */
--surface-hi:#FFFFFF;       /* pola formularza - jasniejsze niz karta */
--surface-2:#F5F3FF; /* plyty na jasnym */
--surface-3:#EDE9FE;        /* plyty glebsze i stany wcisniecia */
/* powierzchnie ciemne */
--ink-bg:var(--green-dark); /* sekcje ciemne i stopka */
--ink-bg-2:#4A3F76;         /* obiekty wypietrzone na ciemnym (bylo #1E4A3E) */
--ink-bg-3:var(--green-primary);
/* tekst */
--ink:var(--text-main);
--ink-soft:var(--text-muted);
--ink-soft-2:#44403C;       /* drugorzedny na tincie - --ink-soft nie przechodzi tam AA (bylo #4E605C) */
--ink-inv:var(--bg-main);   /* na ciemnym */
--ink-inv-soft:#D3CAEA;     /* drugorzedny na ciemnym (bylo #B4C7BB) */
--ink-inv-2:#EEE9F8;        /* jasny tekst na ciemnym (bylo #DCE7E0) */
/* marka */
--green:var(--green-primary);
--green-deep:var(--green-cta-hover);
--sage:#A7C7B9;             /* bylo #A8C0B2 */
--gold:var(--accent-champagne);
/* kreski i krawedzie (lawenda 2026-09-26; bylo #E2E7E0 / #DCE2DA / #BAC6BC) */
--line:#E7E5E4;             /* kreska delikatna */
--line-2:#EFEDEC;
--line-3:var(--border-soft);/* kreska panelu i kart */
--line-4:#D6D3D1;           /* kreska mocna */
--edge:#E7E5E4;             /* rant jasny */
--edge-2:#D6D3D1;           /* rant sredni */
--shade:#0D1A16;            /* cien rozmyty */
/* --- pismo --- */
--display:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
--serif:'Newsreader',Georgia,'Times New Roman',serif;
/* Wspolna skala tekstu, rytm sekcji i miara kontenerow. */
--fs-display:clamp(48px, 6vw + 20px, 112px);
--fs-h2:clamp(40px, 3.3vw + 24px, 80px);
--fs-h3-l:clamp(26px, .6vw + 23px, 32px);
--fs-h3:clamp(22px, .3vw + 21px, 26px);
--fs-h3-s:clamp(18px, .4vw + 17px, 22px);
--fs-lead:clamp(17px, .3vw + 15px, 20px);
--fs-body:16px;
--fs-body-s:15px;
--fs-small:13px;
--fs-ui:14px;
--space-1:8px;
--space-2:12px;
--space-3:16px;
--space-4:24px;
--space-5:32px;
--section-space:clamp(56px, 6.2vw, 88px);
--heading-gap:clamp(32px, 3.4vw, 48px);
--block-gap:clamp(32px, 3.4vw, 48px);
--grid-gap:clamp(16px, 1.7vw, 24px);
--layout-gap:clamp(32px, 4.5vw, 64px);
--card-pad:clamp(20px, 1.7vw, 24px);
--radius-card:24px;
--icon-size:20px;
--icon-large:24px;
--section-icon:clamp(56px, 5.3vw, 76px);
--art-size:clamp(128px, 11vw, 160px);
--page-gutter:clamp(16px, 3.34vw, 48px);
--content-max:1280px;
--shell-w:min(var(--content-max), 100% - 2 * var(--page-gutter));
color-scheme:light}
img{height:auto}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--display);font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-.065em}h2{font-weight:600}h2 em,h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}h3{letter-spacing:-.035em;font-weight:600}p{color:var(--ink-soft)}ul{padding:0;margin:0;list-style:none}[hidden]{display:none!important}:focus-visible{outline:3px solid #315e55;outline-offset:5px}::selection{background:var(--sage);color:var(--ink)}.shell,.nav-shell,.hero-shell{margin:auto;width:var(--shell-w);max-width:var(--content-max);}.section{padding:var(--section-space) 0;}.eyebrow{text-transform:uppercase;font-size:var(--fs-small);letter-spacing:.17em;font-weight:700;line-height:1.7;color:var(--accent-terracotta-text)}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:flex-end;margin-bottom:var(--heading-gap);}.section-heading h2{margin-top:20px}.section-heading>p,.section-heading>div+div{max-width:350px;font-size:var(--fs-body-s);line-height:1.8;padding-bottom:7px}.section-heading>div+div .text-link{margin-top:16px}.button{display:inline-flex;gap:var(--space-2);justify-content:center;align-items:center;min-height:58px;padding:17px 26px;border:1px solid var(--green);background:var(--green);color:var(--surface);border-radius:100px;font-size:var(--fs-ui);font-weight:600;line-height:1.4;box-shadow:0 8px 18px -12px #2c5b4f77;transition:transform .25s,background .25s,box-shadow .25s}.button svg{width:var(--icon-size);}.button:hover{background:var(--green-deep);transform:translateY(-3px);box-shadow:0 12px 22px -10px #2c5b4f55}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-weight:600;font-size:var(--fs-ui);min-height:44px;line-height:1.5;border-bottom:1px solid var(--sage)}.text-link svg{width:var(--icon-size);}.text-link:hover{color:#627470}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--green);color:white;z-index:1000;transform:translateY(-160%)}.skip-link:focus{transform:none}
/* A compact wordmark keeps the first screen about the kinetic composition. */
.site-header{position:sticky;top:0;z-index:50;background:#faf8f4ed;backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .25s}.site-header.scrolled{border-color:var(--line)}.nav-shell{height:95px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.wordmark>span{font-size:var(--fs-small);letter-spacing:-.03em;font-weight:800;line-height:1.25;max-width:130px;color:var(--ink)}.brand-dot{color:#899b91}.wordmark small{font-size:var(--fs-small);letter-spacing:.09em;text-transform:uppercase;max-width:75px;line-height:1.6;border-left:1px solid var(--line);padding-left:15px}.desktop-nav{display:flex;gap:25px;align-items:center}.desktop-nav>a{font-size:var(--fs-small);font-weight:600;min-height:44px;display:flex;align-items:center}.desktop-nav>a:hover{color:#748480}.header-call{display:flex;align-items:center;gap:16px;font-size:var(--fs-small);font-weight:700;border-bottom:1px solid var(--green);min-height:44px;white-space:nowrap}.header-call svg{width:var(--icon-size);}.menu-button{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);background:transparent;border-radius:50%;color:var(--ink);flex-shrink:0}#mobile-menu{padding:12px 24px 24px;border-top:1px solid var(--line);max-height:calc(100dvh - 76px);overflow:auto;background:var(--surface)}#mobile-menu>a{display:flex;align-items:center;min-height:52px;padding:10px;border-bottom:1px solid var(--line);font-size:var(--fs-body)}#mobile-menu>a.button{justify-content:center;margin-top:16px}
/* The hero is a real scene with a CSS sculpture as its loading/failure fallback. */
.hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 80% 52%,var(--surface-2) 0%,#faf8f400 54%)}.hero-shell{position:relative;min-height:760px;padding-top:61px;padding-bottom:30px}.hero-copy{position:relative;z-index:3;width:57%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;font-size:var(--fs-small)}.status-dot{display:inline-block;background:var(--green);width:6px;height:6px;border-radius:50%;flex-shrink:0}.hero h1{font-weight:700;line-height:1.04;margin:34px 0 27px;letter-spacing:-.075em}.hero h1>span,.hero h1>em{display:block}.hero h1 em{font-size:1.04em;color:var(--green);line-height:1.12}.hero-intro{font-size:var(--fs-ui);line-height:1.85;max-width:470px}.hero-actions{display:flex;align-items:flex-start;gap:20px;flex-direction:column;margin-top:27px}.hero-actions .text-link{border:0;font-size:var(--fs-small)}.hero-bottom{position:relative;z-index:4;margin-top:40px;padding-top:24px;border-top:1px solid #2c5b4f1c;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-profile{display:flex;align-items:center;gap:15px}.hero-profile img{width:46px;height:46px;object-fit:cover;object-position:50% 20%;border-radius:50%}.hero-profile strong{font-size:var(--fs-small);display:block;font-weight:600}.hero-profile small{font-size:var(--fs-small);color:var(--ink-soft);display:block;margin-top:3px}.hero-profile>svg{width:var(--icon-size);margin-left:20px}
/* Services combine tactile images with short, predictable text blocks. */
.services{background:var(--bg);border-radius:48px 48px 0 0;position:relative;z-index:5}.help-areas{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2c5b4f26;margin-top:20px;column-gap:40px;margin-bottom:62px}.help-area{border-bottom:1px solid #2c5b4f26}.help-area summary{min-height:78px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:var(--fs-ui);font-weight:600;cursor:pointer;padding:16px 0}.help-area summary::-webkit-details-marker{display:none}.help-area summary svg{width:var(--icon-size);transition:transform .25s}.help-area[open] summary svg{transform:rotate(45deg)}.help-area p{font-size:var(--fs-ui);line-height:1.8;padding:0 36px 22px 0}.grid-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.grid-heading span{font-size:var(--fs-small);letter-spacing:.04em;color:var(--ink-soft)}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{position:relative;display:flex;flex-direction:column;border:1px solid #ffffff99;border-radius:20px;padding:0 23px 23px;background:var(--surface);transform-style:preserve-3d;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 6px #2c5b4f03}.service-art{height:186px;display:flex;align-items:center;justify-content:center;transform:translateZ(20px)}.service-art img{width:166px;height:166px;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.service-copy{flex:1;transform:translateZ(10px)}.service-card h3{line-height:1.35;min-height:46px;margin-bottom:12px}.service-card p{font-size:var(--fs-small);line-height:1.85}.service-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding-top:20px;margin-top:18px;border-top:1px solid var(--line);font-size:var(--fs-small);font-weight:600}.service-link svg{width:var(--icon-size);}.service-card:focus-within{box-shadow:0 16px 35px #2c5b4f19}.consultation-bridge{display:flex;align-items:center;gap:28px;padding:30px 42px;background:var(--surface-3);border:1px solid #c7d1c8;border-radius:20px;margin-top:24px}.consultation-bridge img{width:120px;mix-blend-mode:multiply}.consultation-bridge h3{margin:8px 0}.consultation-bridge p:not(.eyebrow){font-size:var(--fs-small)}.round-link{width:58px;height:58px;border-radius:50%;background:var(--green);color:var(--surface);display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;transition:transform .25s}.round-link:hover{transform:rotate(-35deg)}
/* Real photographs anchor the experimental hero in the actual practice. */
.about{background:var(--surface)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.portrait{position:relative;border-radius:24px;overflow:hidden;max-width:500px;background:#ece8df}.portrait>img{width:100%;aspect-ratio:4/5;object-fit:cover}.portrait figcaption{position:absolute;left:20px;right:20px;bottom:20px;background:#faf8f4ec;backdrop-filter:blur(10px);border-radius:12px;padding:18px 23px;font-weight:600;font-size:var(--fs-ui);line-height:1.5}.portrait figcaption span{display:block;font-size:var(--fs-small);color:var(--ink-soft);font-weight:400;margin-top:3px}.check-list{display:grid;gap:12px}.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-body); line-height:1.65;}.check-list svg{width:var(--icon-size);height:var(--icon-size);color:var(--accent-terracotta); margin-top:3px;}.care-quote{font-family:var(--serif);font-size:clamp(29px,3.7vw,50px);line-height:1.4;letter-spacing:-.04em;text-align:center;margin:85px auto 0;padding:54px 8% 0;border-top:1px solid var(--line);max-width:1120px;color:var(--green)}
.qualifications-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:start}.current-course{margin-top:30px;border-left:2px solid var(--sage);padding:5px 0 5px 22px;max-width:360px}.current-course>span{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:700}.current-course p{font-size:var(--fs-small);line-height:1.65;margin-top:9px}.course-list{border-top:1px solid var(--line)}.course-list li{display:flex;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);line-height:1.5}.course-list svg{width:var(--icon-size);height:var(--icon-size);color:#70817d}.cert-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.cert-tile{position:relative;padding:9px 9px 13px;border:1px solid #ddd8cc;background:var(--surface);border-radius:10px;text-align:left;color:var(--ink);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.cert-thumb{width:100%;height:auto;aspect-ratio:1/1.414;object-fit:contain;border-radius:4px}.cert-tile>span{font-size:var(--fs-small);line-height:1.5;display:block;padding:var(--space-2) 24px 0 0;font-weight:600}.cert-tile>svg{position:absolute;right:8px;bottom:12px;width:var(--icon-size);height:var(--icon-size);}.cert-tile:hover{transform:translateY(-5px);box-shadow:0 12px 22px #2c5b4f14}.cert-more{margin-top:28px}.cert-more>summary{display:flex;list-style:none;align-items:center;justify-content:center;gap:22px;padding:13px 20px;font-size:var(--fs-small);border:1px solid var(--line-4);border-radius:99px;width:fit-content;margin:0 auto 28px;cursor:pointer;min-height:48px}.cert-more>summary::-webkit-details-marker{display:none}.cert-more>summary svg{width:var(--icon-size);}.cert-more[open]>summary svg{transform:rotate(45deg)}
.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px}.contact{background:var(--surface-2);border-radius:48px 48px 0 0;padding-bottom:60px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy h2{margin:24px 0 30px}.contact-copy>p:not(.eyebrow){font-size:var(--fs-ui)}.contact-phone{font-size:clamp(30px,3.6vw,49px);font-weight:600;letter-spacing:-.065em;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:440px;border-bottom:1px solid #9eb4a7;padding:24px 0 12px;margin-top:12px}.contact-phone svg{width:var(--icon-size);height:var(--icon-size);}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:440px;font-size:17px;padding:20px 0;border-bottom:1px solid #9eb4a7;overflow-wrap:anywhere}.contact-email svg{width:var(--icon-size);}.contact-place{display:flex;align-items:center;gap:10px;margin-top:24px}.contact-place svg{width:var(--icon-size);height:var(--icon-size);}.form-panel{background:var(--surface);padding:38px;border-radius:22px;border:1px solid var(--line-2)}.form-panel h3{margin-bottom:12px}.form-panel>p{font-size:var(--fs-small);line-height:1.8;margin-bottom:25px}#contact-form label{display:block;font-size:var(--fs-small);font-weight:600;margin:16px 0 8px}#contact-form input,#contact-form textarea{width:100%;border:1px solid var(--line-3);border-radius:8px;background:var(--surface-hi);padding:13px 15px;min-height:49px;color:var(--ink);font-size:var(--fs-body)}#contact-form textarea{resize:vertical;min-height:120px}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid var(--sage);outline-offset:2px}#contact-form small{display:block;font-size:var(--fs-small);color:var(--ink-soft);margin-top:7px;line-height:1.7}#contact-form .button{width:100%;margin-top:22px}#form-status{font-size:var(--fs-small);margin-top:10px;font-weight:600}#form-status:empty{display:none}.directions-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:65px;padding-top:40px;border-top:1px solid var(--line-4);align-items:center;scroll-margin-top:115px}.directions-copy h3{margin:16px 0}.directions-copy p:not(.eyebrow){font-size:var(--fs-small);margin-top:10px}.directions-copy .text-link{margin-top:18px}.map-holder{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--line-3)}.map-holder>img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.map-overlay{position:absolute;inset:0;background:linear-gradient(transparent,#27383a9c);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:20px}.map-overlay button{display:flex;align-items:center;gap:12px;border:0;background:var(--surface);padding:12px 20px;min-height:46px;border-radius:50px;font-size:var(--fs-small);color:var(--ink);font-weight:600}.map-overlay button svg{width:var(--icon-size);}.map-overlay p{font-size:var(--fs-small);color:white;margin-top:7px}.map-holder iframe{position:absolute;width:100%;height:100%;inset:0;border:0}
.site-footer{padding:40px 0;background:var(--green);color:var(--surface)}.site-footer>.shell{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-brand{font-size:var(--fs-body-s);font-weight:600;letter-spacing:-.03em;line-height:1.5}.footer-brand span{display:block;font-size:var(--fs-small);font-weight:400;color:var(--ink-inv-soft)}.site-footer p{width:100%;font-size:var(--fs-small);color:#acc1b4;border-top:1px solid #ffffff26;padding-top:22px}#mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#faf8f4f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);display:none;grid-template-columns:1fr 1.5fr;gap:8px}#mobile-cta>a{display:flex;justify-content:center;align-items:center;gap:9px;border:1px solid #c4cfc6;min-height:46px;border-radius:50px;font-size:var(--fs-small);font-weight:600}#mobile-cta>a:last-child{background:var(--green);color:white}#mobile-cta svg{width:var(--icon-size);height:var(--icon-size);}
#image-dialog{width:min(1100px,96vw);max-width:none;height:94dvh;max-height:94dvh;background:#0f211ced;color:white;border:1px solid #ffffff30;border-radius:18px;padding:18px;overflow:hidden}#image-dialog[open]{display:flex;flex-direction:column}#image-dialog::backdrop{background:#0d1a16db;backdrop-filter:blur(12px)}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.lightbox-toolbar p{color:#ffffff;font-size:var(--fs-small);line-height:1.5}.lightbox-toolbar button,.lightbox-controls button{display:flex;justify-content:center;align-items:center;width:46px;height:46px;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:white;flex-shrink:0}.lightbox-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;padding:16px 0}.lightbox-stage img{width:100%;height:100%;object-fit:contain}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:30px;flex-shrink:0}.lightbox-controls span{font-size:var(--fs-small);font-variant-numeric:tabular-nums}.lightbox-controls button{font-size:23px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.service-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-8px);box-shadow:0 22px 32px -15px #2c5b4f33}.service-card:hover .service-art img{transform:translateY(-8px) scale(1.035)}}
@media(prefers-reduced-motion:no-preference){.reveal.will-reveal{opacity:0;transform:translateY(25px)}.reveal.is-visible{opacity:1;transform:translateY(0);transition:opacity .7s,transform .7s}.hero-copy h1>span,.hero-copy h1>em{animation:hero-in .9s both}.hero-copy h1>span:nth-child(2){animation-delay:.12s}.hero-copy h1>em{animation-delay:.24s}@keyframes hero-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}}
@media(min-width:1550px){.hero-shell{min-height:830px;padding-top:90px}.hero-bottom{margin-top:65px}}
@media(max-width:1199px){.shell,.nav-shell,.hero-shell{;width:var(--shell-w);max-width:var(--content-max);}.desktop-nav{gap:15px}.wordmark small{display:none}.about-layout,.qualifications-layout,.contact-layout,.directions-layout{gap:55px}.service-card{padding-inline:18px}.service-art{height:160px}.service-art img{width:145px;height:145px}.cert-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1023px){.desktop-nav,.header-call{display:none}.menu-button{display:flex}.nav-shell{height:80px}.wordmark small{display:block}.section{padding:var(--section-space) 0;}.hero-shell{min-height:670px;padding-top:42px}.hero-copy{width:62%}.hero-intro{max-width:345px;font-size:var(--fs-small)}.hero-actions .button{font-size:var(--fs-small);padding:17px 22px}.hero-bottom{margin-top:32px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{padding:0 25px 24px}.service-art{height:190px}.service-art img{width:175px;height:175px}.service-card h3{min-height:0}.service-card p{font-size:var(--fs-small)}.service-link{font-size:var(--fs-small)}.about-layout{gap:40px}.check-list li{font-size:var(--fs-body); line-height:1.65;}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.contact-layout,.directions-layout{gap:35px}.form-panel{padding:26px}.contact-phone{font-size:35px}.contact-email{font-size:var(--fs-ui)}#mobile-cta:not([hidden]){display:grid}.site-footer{padding-bottom:100px}.qualifications-layout{gap:35px}.course-list li{font-size:var(--fs-small)}.hero-profile>svg{margin-left:6px}}
@media(max-width:699px){html{scroll-padding-top:90px}.shell,.nav-shell,.hero-shell{;width:var(--shell-w);max-width:var(--content-max);}.section{padding:var(--section-space) 0;}.nav-shell{height:74px}.wordmark>span{font-size:var(--fs-small); max-width:130px; line-height:1.25;}.wordmark small{display:none}.hero-shell{padding-top:28px;min-height:0;padding-bottom:22px}.hero-copy{width:100%;pointer-events:auto}.hero-copy .eyebrow{font-size:var(--fs-small);letter-spacing:.10em;gap:7px}.hero h1{margin:26px 0 22px;line-height:1.035}.hero-intro{font-size:var(--fs-small);max-width:380px}.hero-actions{gap:12px;margin-top:24px;align-items:flex-start}.hero-actions .button{font-size:var(--fs-small);min-height:52px;padding:15px 20px}.hero-actions .text-link{font-size:var(--fs-small);min-height:38px}.hero-bottom{margin-top:0;padding-top:18px;gap:8px;align-items:flex-start;flex-wrap:wrap}.hero-profile{gap:12px}.hero-profile img{width:40px;height:40px}.hero-profile strong{font-size:var(--fs-small)}.hero-profile small{font-size:var(--fs-small)}.hero-profile>svg{width:var(--icon-size);}.services{border-radius:28px 28px 0 0}.section-heading{display:block;margin-bottom:var(--heading-gap);}.section-heading h2{margin-top:16px}.section-heading>p,.section-heading>div+div{margin-top:23px;font-size:var(--fs-small);max-width:390px;padding:0}.help-areas{grid-template-columns:1fr;margin-bottom:35px;column-gap:0}.help-area summary{font-size:var(--fs-small);min-height:65px;gap:12px}.help-area p{font-size:var(--fs-small)}.grid-heading{gap:12px;margin-bottom:18px}.grid-heading span{font-size:var(--fs-small)}.services-grid{gap:12px}.service-card{padding:0 13px 13px;border-radius:14px}.service-art{height:126px}.service-art img{width:120px;height:120px}.service-card h3{line-height:1.4;min-height:40px;letter-spacing:-.025em;margin-bottom:9px}.service-card p{font-size:var(--fs-small);line-height:1.8}.service-link{font-size:var(--fs-small);gap:5px;padding-top:10px;margin-top:13px;min-height:44px}.service-link svg{width:var(--icon-size);height:var(--icon-size);}.consultation-bridge{padding:20px;gap:13px;flex-wrap:wrap}.consultation-bridge img{width:64px}.consultation-bridge>div{width:calc(100% - 77px)}.consultation-bridge .eyebrow{font-size:var(--fs-small)}.consultation-bridge h3{line-height:1.35;margin:5px 0}.consultation-bridge p:not(.eyebrow){font-size:var(--fs-small)}.round-link{width:46px;height:46px}.consultation-bridge .round-link{margin-top:-2px}.about-layout{grid-template-columns:1fr;gap:35px}.portrait{max-width:420px;width:100%;margin:auto}.check-list li{font-size:var(--fs-body); line-height:1.65;}.care-quote{margin-top:45px;padding:35px 0 0;font-size:30px}.qualifications-layout{grid-template-columns:1fr;gap:30px}.course-list li{padding:15px 0}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cert-tile{padding:9px}.cert-tile>span{font-size:var(--fs-small);min-height:40px; padding:var(--space-2) 24px 0 0;}.cert-more>summary{font-size:var(--fs-small);gap:12px;padding:12px 16px}.principles-grid{gap:26px 20px}.contact{border-radius:28px 28px 0 0}.contact-layout,.directions-layout{grid-template-columns:1fr;gap:35px}.contact-phone{font-size:42px;max-width:none}.contact-email{font-size:17px;max-width:none}.contact-copy>p:not(.eyebrow){font-size:var(--fs-small)}.form-panel{padding:24px 20px;border-radius:18px}.directions-layout{margin-top:40px;gap:24px}.map-holder{aspect-ratio:4/3}.site-footer .text-link{font-size:var(--fs-small)}.footer-brand{font-size:var(--fs-small)}.site-footer p{font-size:var(--fs-small)}.site-footer>.shell{gap:22px}#image-dialog{padding:12px;width:96vw;height:92dvh;border-radius:12px}.lightbox-toolbar p{font-size:var(--fs-small)}.lightbox-controls{gap:25px}}
@media(max-width:359px){.shell,.nav-shell,.hero-shell{;width:var(--shell-w);max-width:var(--content-max);}.hero-copy .eyebrow{font-size:var(--fs-small)}.hero-actions .button{font-size:var(--fs-small);padding-inline:16px;gap:12px}.hero-profile small{font-size:var(--fs-small)}.hero-profile strong{font-size:var(--fs-small)}.hero-profile>svg{display:none}.service-art{height:112px}.service-art img{width:106px;height:106px}.service-card{padding-inline:11px}.service-card p{font-size:var(--fs-small)}.service-link{font-size:var(--fs-small)}.contact-phone{font-size:36px}.contact-email{font-size:var(--fs-body-s)}.principles-grid{column-gap:16px}.consultation-bridge{padding:17px}}
@media(max-width:699px){.services-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:95px minmax(0,1fr);gap:0 17px;padding:20px 17px 14px}.service-art{grid-column:1;grid-row:1/3;height:112px;align-self:center}.service-art img{width:110px;height:110px;max-width:none}.service-copy{grid-column:2}.service-card h3{min-height:0;margin-bottom:10px}.service-card p{font-size:var(--fs-small);line-height:1.8}.service-link{grid-column:2;font-size:var(--fs-small);margin-top:12px;padding-top:9px}.service-link svg{width:var(--icon-size);height:var(--icon-size);}}
@media(max-width:359px){.service-card{grid-template-columns:75px minmax(0,1fr);gap:0 13px;padding:18px 13px 12px}.service-art img{width:90px;height:90px}.service-card p{font-size:var(--fs-small)}.service-link{font-size:var(--fs-small)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Local logo fitting: crop only the transparent canvas margins, not the mark. */
.wordmark .wordmark-logo{width:76px;height:76px;object-fit:contain;object-position:center;max-width:none}
@media(max-width:1199px){.wordmark .wordmark-logo{width:72px;height:72px}}
@media(max-width:699px){.nav-shell{gap:16px}.wordmark .wordmark-logo{width:66px;height:66px}}
@media(max-width:359px){.wordmark .wordmark-logo{width:62px;height:62px}}

/* Pricing sits between the dark services block and the cream "about" block, so the
   rows need their own plate: a background change alone would merge them downwards. */

.price-panel{max-width:none;background:var(--surface-2);border:1px solid var(--line-3);border-radius:var(--radius-card);box-shadow:0 6px 0 var(--edge);padding:4px var(--card-pad) 8px;}
.price-list{list-style:none;margin:0;padding:0}
.price-list>li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:24px 0;border-bottom:1px solid var(--line-3)}
/* A dotted leader carries the eye from a short name to a right-aligned price. */
.price-lead{flex:1 1 24px;min-width:18px;align-self:baseline;border-bottom:1px dotted var(--accent-mustard);transform:translateY(-5px)}
.price-list>li:last-child{border-bottom:0}
.price-what{display:flex;flex-direction:column;gap:7px}
.price-name{margin:0;font-size:var(--fs-body);font-weight:600;line-height:1.45;color:var(--ink)}
/* --muted scores only 4.43:1 on this plate, short of AA for 11px; this is a darker step. */
.price-duration{margin:0;font-size:var(--fs-small);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#435f59}
.price-amount{margin:0;flex:0 0 auto;font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.1;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}
.price-note{margin:24px 0 0;font-size:var(--fs-ui);line-height:1.8;color:var(--ink-soft);max-width:560px}
.price-note a{font-weight:600;color:var(--green);border-bottom:1px solid var(--sage)}
.price-note a:hover{color:#748480}
@media(max-width:699px){.price-lead{display:none}.price-panel{padding:4px var(--card-pad) 8px;border-radius:var(--radius-card); max-width:none;}.price-list>li{padding:19px 0;gap:12px}.price-name{font-size:var(--fs-body-s)}.price-amount{font-size:23px}.price-note{font-size:var(--fs-small);margin-top:20px}}
@media(max-width:359px){.price-panel{padding:4px var(--card-pad) 8px; max-width:none; border-radius:var(--radius-card);}.price-list>li{flex-direction:column;align-items:flex-start;gap:9px}.price-amount{font-size:22px}}

/* One icon family, one line weight. stroke-width scaled with each icon box, so the same
   arrow was drawn at 0.87px inside a 13px certificate tile and at 2.13px next to the phone
   number - a 2.4x spread across one set, and sub-pixel (blurred) at the small end. */
svg path,svg circle,svg line,svg polyline{vector-effect:non-scaling-stroke;stroke-width:1.4px}

