@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/newsreader-normal.woff2) format("woff2")}
@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/newsreader-italic.woff2) format("woff2")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/work-sans-normal.woff2) format("woff2")}
:root{--navy:oklch(25% .065 252);--navy-deep:oklch(19% .048 252);--orange:oklch(66% .17 51);--orange-dark:oklch(59% .17 48);--bordeaux:oklch(39% .13 25);--cream:oklch(98% .015 80);--white:oklch(100% 0 0);--ink:oklch(23% .02 65);--ink-soft:oklch(48% .025 70);--line:oklch(25% .065 252/.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);margin:0;font:16px/1.55 Work Sans,sans-serif}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:Newsreader,serif;font-weight:500}
h1{letter-spacing:0;font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.08}
h2{letter-spacing:0;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15}
h3{font-size:1.25rem}
p{color:var(--ink-soft)}
a{color:inherit;text-decoration:none}
img{width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:auto;padding-inline:24px}
section{padding:76px 0}
.btn{border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;padding:13px 26px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}
.btn-primary{background:var(--orange);color:var(--white)}
.btn-primary:hover{background:var(--orange-dark)}
.btn-dark{background:var(--navy);color:var(--white)}
.btn-ghost{color:var(--white);border-color:oklch(100% 0 0/.4)}
header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:oklch(98% .015 80/.94);position:sticky;top:0}
nav{justify-content:space-between;align-items:center;height:76px;display:flex}
.brand{color:var(--navy);align-items:center;display:flex}
.brand img{object-fit:contain;width:auto;max-width:300px;height:60px}
.nav-links{color:var(--navy);gap:24px;font-size:.9rem;display:none}
.nav-cta{display:none}
.header-actions{align-items:center;gap:16px;display:none}
.nav-toggle{color:var(--navy);background:0 0;border:0;padding:8px}
.mobile-menu{flex-direction:column;padding:0 24px 20px;display:flex}
.mobile-menu>a{border-top:1px solid var(--line);color:var(--navy);padding:12px 4px}
.mobile-menu>.btn{color:var(--white);padding:13px 26px}
.hero{background:var(--navy);color:var(--white);flex-direction:column;min-height:560px;padding:0;display:flex;position:relative;overflow:hidden}
.hero-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}
.hero-overlay{z-index:1;background:linear-gradient(100deg,oklch(19% .048 252/.88) 0%,oklch(19% .048 252/.72) 45%,oklch(19% .048 252/.35) 100%);position:absolute;inset:0}
.hero-inner{z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;width:100%;padding-top:90px;padding-bottom:70px;display:flex;position:relative}
.kicker,.eyebrow{color:var(--orange);margin-bottom:16px;font-weight:600}
.hero h1{max-width:15ch}
.hero h1 em{color:oklch(78% .13 58);font-weight:500}
.lead{max-width:48ch;margin-top:20px}
.hero .lead,.project p,.gallery-band p{color:oklch(100% 0 0/.82)}
.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}
.info-strip{z-index:2;background:var(--orange);position:relative}
.info-strip .wrap{display:grid}
.info-strip .wrap>div{border-top:1px solid oklch(100% 0 0/.28);padding:20px 0}
.info-strip small{color:oklch(100% 0 0/.85);display:block}
.info-strip strong{font:500 1.3rem Newsreader,serif;display:block}
.split{gap:44px;display:grid}
.intro{max-width:58ch;margin-top:18px}
.tag-row{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}
.tag-row span{border:1px solid var(--line);color:var(--navy);border-radius:20px;padding:7px 14px;font-size:.85rem}
.event-visual{gap:24px;display:grid}
.event-visual>img{background:var(--white);border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;padding:14px}
.quote{background:var(--bordeaux);padding:40px 34px}
.quote p{color:oklch(90% .035 35);font:italic 1.3rem/1.42 Newsreader,serif}
.quote small{color:oklch(100% 0 0/.7);margin-top:20px;display:block}
.light{background:var(--white)}
.programme-list{border-top:1px solid var(--line);margin-top:32px}
.programme-row{border-bottom:1px solid var(--line);grid-template-columns:96px 1fr;gap:18px;padding:18px 16px;display:grid}
.programme-row:nth-child(odd){background:oklch(25% .065 252/.03)}
.programme-row time{color:var(--navy);font-family:Newsreader,serif}
.programme-row strong{font-size:.95rem}
.programme-row p{margin-top:3px;font-size:.92rem}
.sessions-band{border-top:1px solid var(--line);gap:28px;margin-top:48px;padding-top:48px;display:grid}
.sessions-band>img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);background:var(--white)}
.sessions-band h3{color:var(--navy)}
.sessions-list{gap:14px;margin:20px 0 0;padding:0;list-style:none;display:grid}
.sessions-list li{color:var(--ink-soft);gap:12px;font-size:.96rem;display:flex}
.sessions-list li:before{content:"✓";color:var(--orange);flex:none;font-weight:700}
.project{background:var(--navy);color:var(--white)}
.project figure{position:relative}
.project figure img{aspect-ratio:4/3;object-fit:cover}
.project figcaption{text-align:center;color:oklch(90% .035 35);background:oklch(39% .13 25/.92);padding:14px 18px;font:italic .92rem/1.4 Newsreader,serif;position:absolute;inset:auto 0 0}
.project h2{margin-bottom:18px}
.project ul{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}
.project li{color:oklch(100% 0 0/.85);gap:12px;font-size:.96rem;display:flex}
.project li:before{content:"";background:var(--orange);border-radius:50%;flex:none;width:6px;height:6px;margin-top:8px}

.ticket{border:1px solid var(--line);border-top:5px solid var(--orange);background:var(--white);max-width:440px;margin-top:40px;padding:38px 34px}
.ticket h3{color:var(--navy);font-size:1.4rem}
.price{margin-top:10px;font:500 2.4rem Newsreader,serif}
.price span{color:var(--ink-soft);font:1rem Work Sans,sans-serif}
.ticket ul{gap:11px;margin:24px 0;padding:0;list-style:none;display:grid}
.ticket li{color:var(--ink-soft);gap:10px;font-size:.93rem;display:flex}
.ticket li:before{content:"✓";color:var(--orange);font-weight:700}
.ticket .btn{width:100%}
.pay-note{margin-top:22px;font-size:.86rem}
.partners{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:40px;display:grid}
.partners div{background:var(--white);min-height:96px;color:var(--navy);opacity:.7;place-items:center;font:500 1.05rem Newsreader,serif;display:grid}
.gallery-band{background:var(--bordeaux);color:var(--white)}
.gallery-band .wrap{gap:26px;display:grid}
.gallery-band img{aspect-ratio:16/8;object-fit:cover}
.gallery-band h2{max-width:18ch}
.gallery-band p{max-width:40ch;margin:10px 0 24px}
.about{gap:40px;display:grid}
.about>div:last-child{gap:14px;display:grid}
.org{color:var(--navy);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}
.org img{object-fit:contain;width:auto;max-width:260px;height:64px}
.org span{width:100%;color:var(--ink-soft);font-size:.82rem}
footer{background:var(--navy-deep);color:oklch(100% 0 0/.7);padding:60px 0 30px}
.foot-grid{gap:36px;display:grid}
.foot-grid>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}
.foot-grid h3{color:var(--white);font-size:1rem}
.foot-grid p,.foot-grid a,.footer-pending{color:oklch(100% 0 0/.62);font-size:.9rem}
.footer-pending{cursor:default}
.foot-bottom{color:oklch(100% 0 0/.45);border-top:1px solid oklch(100% 0 0/.12);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:46px;padding-top:22px;font-size:.82rem;display:flex}
@media (width>=700px){section{padding:104px 0}.info-strip .wrap{grid-template-columns:repeat(3,1fr)}.info-strip .wrap>div{border-top:0;border-left:1px solid oklch(100% 0 0/.28);padding:24px 30px}.info-strip .wrap>div:first-child{border-left:0;padding-left:0}.partners{grid-template-columns:repeat(5,1fr)}.foot-grid{grid-template-columns:1.3fr 1fr 1fr}.gallery-band .wrap{grid-template-columns:1fr 1fr;align-items:center}}
@media (width>=860px){.split{grid-template-columns:1.1fr .9fr;align-items:start;gap:64px}.about{grid-template-columns:.9fr 1.1fr}.project-grid{align-items:center}.sessions-band{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}}
.contact-hero{background:var(--navy);color:var(--white);padding:80px 0;position:relative;overflow:hidden}
.contact-hero h1{max-width:18ch}
.contact-hero .lead{color:oklch(100% 0 0/.78);max-width:50ch;margin-top:20px}
.contact-hero .wrap{position:relative}
.contact-grid{background:var(--line);border:1px solid var(--line);gap:1px;margin-top:40px;display:grid}
.contact-card{background:var(--white);flex-direction:column;align-items:flex-start;gap:8px;padding:34px 30px;display:flex}
.contact-icon{width:46px;height:46px;color:var(--orange);background:oklch(66% .17 51/.12);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}
.contact-icon svg{width:22px;height:22px}
.contact-card small{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem;font-weight:600}
.contact-value{color:var(--navy);font:500 1.25rem Newsreader,serif}
.contact-value:hover{color:var(--orange)}
.contact-card p{font-size:.88rem}
@media (width>=700px){.contact-grid{grid-template-columns:repeat(3,1fr)}}
@media (width>=900px){.nav-links,.header-actions{display:flex}.nav-cta{display:inline-flex}.nav-toggle{display:none}.brand img{max-width:300px;height:72px}nav{height:92px}.hero{min-height:680px}.hero-inner{padding-top:110px}.mobile-menu{display:none}}

/* --- additions of the static rebuild (the look above is the original CSS) --- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:var(--white);padding:10px 16px;z-index:100}
.skip-link:focus{left:0}
.hero-overlay{background:linear-gradient(100deg,oklch(19% .048 252/.95) 0%,oklch(19% .048 252/.86) 50%,oklch(19% .048 252/.35) 100%)}
.nav-toggle svg{display:block}
.mobile-menu[hidden]{display:none}
.mobile-menu{background:var(--cream);border-bottom:1px solid var(--line)}
.prose{display:grid;gap:16px;margin-top:18px;max-width:62ch}
.prose cite{font-style:italic;font-size:.92rem;color:var(--ink-soft)}
.prose cite b{color:var(--orange-dark);font-weight:500}
.signature{text-align:right;text-decoration:underline;font-size:.92rem}
.club{max-width:70ch}
.club p{margin-top:14px}
.project-cards{display:grid;gap:20px;margin-top:44px}
.project-card{background:oklch(100% 0 0/.05);border:1px solid oklch(100% 0 0/.14)}
.project .project-card img{aspect-ratio:3/2;object-fit:cover}
.project .project-card figcaption{position:static;text-align:left;background:none;padding:16px 18px 20px;font:500 1.05rem/1.35 Newsreader,serif;color:var(--white)}
@media (width>=700px){.project-cards{grid-template-columns:repeat(2,1fr)}}
@media (width>=1000px){.project-cards{grid-template-columns:repeat(3,1fr)}}
.club-note{margin-top:34px;color:oklch(90% .035 35);font:italic 1.1rem/1.45 Newsreader,serif;max-width:60ch}
.partners{grid-template-columns:repeat(1,1fr)}
.partners div{opacity:1;padding:20px}
.partners img{width:auto;max-width:220px;height:84px;object-fit:contain}
@media (width>=700px){.partners{grid-template-columns:repeat(2,1fr)}}
@media (width>=1000px){.partners{grid-template-columns:repeat(4,1fr)}}
.gallery-band h2{max-width:22ch}
.org img{height:64px}
.org b{font-weight:600;color:var(--navy)}
.notice{margin-top:14px;font-size:.9rem;color:var(--navy);background:oklch(66% .17 51/.12);border-left:3px solid var(--orange);padding:10px 14px}
.notice:target{outline:2px solid var(--orange)}
.pay-note small{display:block}
.contact-link-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn-outline{color:var(--bordeaux);border-color:var(--bordeaux)}
.btn-outline:hover{background:var(--bordeaux);color:var(--white)}
.legal{max-width:760px}
.legal h2{margin:36px 0 10px;font-size:1.5rem}
.legal p,.legal li{margin-top:8px}
.legal ul{padding-left:20px}
.foot-credit a{text-decoration:underline;text-underline-offset:2px}
.foot-bottom a:hover,.foot-grid a:hover{color:var(--white)}
.page-404{padding:120px 0;text-align:center}
.page-404 p{margin:16px 0 28px}
.projects-title{margin-top:44px;color:var(--white);font-size:1.3rem;max-width:44ch}
.test-note{margin-top:12px;font-size:.8rem;color:var(--ink-soft);text-align:center}
.venue-gallery{gap:12px;margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr)}
.venue-gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);width:100%;height:100%}
.venue-gallery .venue-main{grid-column:1/-1}
.venue-info{gap:20px;margin-top:28px;display:grid}
.venue-card{border:1px solid var(--line);border-top:5px solid var(--orange);background:var(--white);padding:30px 28px}
.venue-card h3{color:var(--navy);font-size:1.2rem;margin:0 0 10px}
.venue-card h3+*{margin-top:0}
.venue-card ul+h3,.venue-map+h3{margin-top:26px}
.venue-address{color:var(--navy);font:500 1.15rem Newsreader,serif;margin-bottom:6px}
.venue-map{color:var(--orange-dark);font-weight:600;text-decoration:underline}
.venue-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}
.venue-list li{color:var(--ink-soft);gap:10px;font-size:.95rem;display:flex}
.venue-list li:before{content:"✓";color:var(--orange);flex:none;font-weight:700}
@media (width>=860px){.venue-gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.venue-gallery .venue-main{grid-column:1;grid-row:1/3}.venue-info{grid-template-columns:1.2fr 1fr}}
.foot-credit a{display:inline-flex;align-items:center;gap:8px}
.foot-credit img{width:20px;height:20px;flex:none;display:block}
.contact-values{display:flex;flex-direction:column;gap:4px}
.contact-values a{color:var(--navy);font:500 1.05rem Newsreader,serif;overflow-wrap:anywhere}
.contact-values a:hover{color:var(--orange)}
.mail-inline a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.conditions-note{margin-top:14px;font-size:.84rem}
.conditions-note a{text-decoration:underline;text-underline-offset:2px}
.hero .conditions-note{color:oklch(100% 0 0/.78)}
.ticket .conditions-note{text-align:center}
.pay-grid{display:grid;gap:24px;margin-top:40px;align-items:start}
.pay-grid .ticket{margin-top:0;max-width:none}
.bank-card{border:1px solid var(--line);border-top:5px solid var(--navy);background:var(--white);padding:38px 34px}
.bank-card h3{color:var(--navy);font-size:1.4rem}
.bank-card p{margin-top:12px;font-size:.93rem}
.bank-account{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.bank-account h4{color:var(--navy);font-size:1.05rem;margin:0 0 8px}
.bank-account dl{display:grid;gap:6px;margin:0}
.bank-account dl div{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:.9rem}
.bank-account dt{color:var(--ink-soft)}
.bank-account dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.bank-card .btn{margin-top:22px;width:100%;text-align:center}
.bank-card .bank-hint{margin-top:10px;font-size:.84rem;text-align:center}
@media (width>=900px){.pay-grid{grid-template-columns:1fr 1fr}}

/* --- v3: icons, cards, timeline, forms --- */
.ico{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn .ico{margin-right:8px}
.card-grid{display:grid;gap:20px;margin-top:36px}
.card{background:var(--cream);border:1px solid var(--line);border-top:4px solid var(--orange);padding:28px 26px;display:flex;flex-direction:column;gap:10px}
.light .card{background:var(--cream)}
.card h3{color:var(--navy)}
.card p{font-size:.95rem}
.card.slim{border-top-width:1px;padding:22px 22px}
.card-icon{width:46px;height:46px;color:var(--orange);background:oklch(66% .17 51/.12);border-radius:50%;place-items:center;display:grid;flex:none}
.card-icon .ico{width:22px;height:22px}
.link-card{transition:transform .2s,box-shadow .2s}
.link-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px oklch(25% .065 252/.12)}
.card-more{margin-top:auto;color:var(--orange-dark);font-weight:600;font-size:.92rem}
.card-more:after{content:" →"}
.card-num{width:36px;height:36px;border-radius:50%;background:var(--orange);color:var(--white);font:600 1rem Newsreader,serif;place-items:center;display:grid}
.card-grid.dark .card{background:oklch(100% 0 0/.06);border-color:oklch(100% 0 0/.14);border-top-color:var(--orange)}
.card-grid.dark .card p{color:oklch(100% 0 0/.85)}
.subhead{margin-top:56px;color:var(--navy)}
@media (width>=700px){.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.two{grid-template-columns:repeat(2,1fr)}}
.theme-quote{margin-top:36px}
.verse{margin:26px 0 0;padding:20px 24px;border-left:4px solid var(--orange);background:oklch(66% .17 51/.08)}
.verse b{color:var(--orange-dark);font:600 .95rem Work Sans,sans-serif}
.verse p{margin-top:6px;font:italic 1.12rem/1.45 Newsreader,serif;color:var(--ink)}
.verse.wide{margin-top:44px;max-width:70ch}
.theme-band{background:var(--bordeaux);color:var(--white);padding:64px 0}
.theme-text{color:var(--white);font:500 clamp(1.5rem,4vw,2.4rem)/1.25 Newsreader,serif;max-width:30ch}
.theme-text em{color:oklch(78% .13 58)}
.theme-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.theme-badges span{display:inline-flex;align-items:center;gap:8px;border:1px solid oklch(100% 0 0/.4);padding:8px 16px;font-weight:600}
.project-cards.numbered .project-card{position:relative}
.project-num{position:absolute;top:12px;left:12px;background:var(--orange);color:var(--white);font:600 .9rem Work Sans,sans-serif;padding:4px 10px}
.project .project-card figcaption{display:flex;gap:10px;align-items:flex-start}
.project .project-card figcaption .ico{color:var(--orange);margin-top:2px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cta-row .contact-link-row{margin-top:0}
.cta-row .conditions-note{width:100%}
.partner-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding:28px 30px;background:var(--white);border:1px solid var(--line);border-left:5px solid var(--orange)}
.partner-cta h3{color:var(--navy)}
.partner-cta p{margin-top:4px;max-width:52ch}
.steps{margin:18px 0 22px;padding-left:20px;display:grid;gap:10px;color:var(--ink-soft);font-size:.94rem}
/* timeline */
.programme-head{display:flex;align-items:center;gap:16px;margin-bottom:36px}
.programme-head p{margin-top:2px}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline:before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:var(--line)}
.tl-item{position:relative;display:grid;grid-template-columns:48px 1fr;column-gap:18px;padding-bottom:26px}
.tl-item:last-child{padding-bottom:0}
.tl-icon{grid-column:1;grid-row:1/3;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--white);place-items:center;display:grid;position:relative;z-index:1}
.tl-item:nth-child(even) .tl-icon{background:var(--orange)}
.tl-time{grid-column:2;grid-row:1;align-self:end;font:600 .95rem Work Sans,sans-serif;color:var(--orange-dark);padding-top:2px}
.tl-body{grid-column:2;grid-row:2;background:var(--cream);border:1px solid var(--line);padding:14px 18px;margin-top:6px}
.tl-body h3{color:var(--navy);font-size:1.1rem}
.tl-body p{margin-top:4px;font-size:.93rem}
@media (width>=860px){
.timeline:before{left:50%;margin-left:-1px}
.tl-item{grid-template-columns:1fr 48px 1fr;column-gap:28px;padding-bottom:30px}
.tl-icon{grid-column:2;grid-row:1}
.tl-time{grid-column:1;grid-row:1;text-align:right;align-self:center;font-size:1.05rem}
.tl-body{grid-column:3;grid-row:1;margin-top:0}
.tl-item:nth-child(even) .tl-time{grid-column:3;text-align:left}
.tl-item:nth-child(even) .tl-body{grid-column:1}
}
.sessions-band{display:grid;gap:28px;align-items:center;border-top:0;margin-top:0;padding-top:0}
.sessions-card{background:var(--navy);color:var(--white);padding:36px 32px}
.sessions-card h2{color:var(--white);font-size:1.6rem}
.sessions-card .sessions-list li{color:oklch(100% 0 0/.88)}
@media (width>=860px){#sessions .sessions-band{grid-template-columns:1.05fr .95fr;gap:48px}}
/* choices and forms */
.narrow{max-width:820px}
.choice-grid{display:grid;gap:24px}
.option-card{position:relative;border:1px solid var(--line);border-top:5px solid var(--orange);background:var(--cream);padding:34px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.option-card:nth-child(2){border-top-color:var(--navy)}
.option-card h2{font-size:1.6rem;color:var(--navy)}
.option-card .btn{margin-top:auto}
.option-tag{position:absolute;top:18px;right:18px;background:var(--orange);color:var(--white);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px}
.option-tag.alt{background:var(--navy)}
.option-card a:not(.btn){text-decoration:underline;text-underline-offset:2px}
@media (width>=800px){.choice-grid{grid-template-columns:1fr 1fr}}
.form{display:grid;gap:26px;margin-top:30px}
.form-step{border:1px solid var(--line);background:var(--white);padding:26px 24px 28px;margin:0;display:grid;gap:18px;min-width:0}
.form-step legend{font:500 1.35rem Newsreader,serif;color:var(--navy);padding:0 10px;display:flex;align-items:center;gap:12px}
.step-num{width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--white);font:600 .9rem Work Sans,sans-serif;place-items:center;display:grid}
.grid-2{display:grid;gap:18px}
@media (width>=700px){.grid-2{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}
.field label,.field legend{font-weight:600;font-size:.92rem;color:var(--navy)}
.req{color:var(--orange-dark)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea,.field input[type=file]{width:100%;font:inherit;color:var(--ink);background:var(--cream);border:1px solid oklch(25% .065 252/.3);border-radius:2px;padding:11px 12px}
.field input:focus,.field select:focus,.field textarea:focus,.choice input:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
.field textarea{resize:vertical;min-height:140px}
.hint{color:var(--ink-soft);font-size:.82rem}
.choices{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:4px}
.choice{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-size:.95rem;color:var(--ink);cursor:pointer}
.choice input{width:18px;height:18px;accent-color:var(--orange-dark);flex:none}
.choice.agree{align-items:flex-start;font-size:.93rem}
.choice.agree input{margin-top:3px}
.choice.agree a{text-decoration:underline}
.package{background:oklch(66% .17 51/.08);border-left:4px solid var(--orange);padding:16px 20px;display:grid;gap:8px}
.package strong{color:var(--navy);font:500 1.2rem Newsreader,serif}
.package ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:.93rem}
.package p{font-size:.88rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-actions .btn{min-width:240px;cursor:pointer}
.form-status{padding:12px 16px;border-left:4px solid var(--orange);background:oklch(66% .17 51/.12);color:var(--navy);font-size:.95rem}
.form-status.ok{border-left-color:oklch(55% .13 150);background:oklch(55% .13 150/.12)}
.form-status[hidden]{display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--bordeaux)}
.field-error{color:var(--bordeaux);font-size:.84rem}
.btn[disabled]{opacity:.6;cursor:wait}
.rib-request{margin-top:14px;padding:20px 22px;background:var(--cream);border:1px solid var(--line);border-left:5px solid var(--navy)}
.rib-request p{color:var(--ink)}
.rib-request .contact-link-row{margin-top:14px}
.rib-request .btn{padding:11px 22px}
@media (width<700px){.form-step{padding:20px 16px 22px}.form-step legend{font-size:1.15rem;gap:8px;padding:0 6px}.timeline:before{left:23px}.theme-text{font-size:1.5rem}}
