/* TWM app and public-site visual system. Content and enrollment flows stay unchanged. */
:root{--background:#f3f7f4;--accent:#c5f06b}
body{background:var(--background)}
header{background:#fff;min-height:88px}
.brand{gap:12px;color:var(--green);font-size:16px;letter-spacing:.025em}
.brand .mark{display:block;width:90px;height:32.3px;padding:0;flex:0 0 auto;background:currentColor;color:inherit;font-size:0;line-height:0;-webkit-mask:url('twm-logo.svg?v=1005d6d454') center / contain no-repeat;mask:url('twm-logo.svg?v=1005d6d454') center / contain no-repeat}
.brand small{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;white-space:nowrap}
.brand-signature{font:500 13px/1.1 'Yu Mincho','Hiragino Mincho ProN','MS Mincho',serif;letter-spacing:.12em;padding-left:7px;border-left:1px solid currentColor}
.button{border-radius:0;min-height:48px}.button:focus-visible,.brand:focus-visible{outline-color:#83bb2a}
.hero{max-width:1600px;margin:auto;padding:22px 5%;gap:18px;min-height:640px;background:var(--background)}
.hero-copy{background:#fff;border:1px solid var(--line);padding:66px 8% 48px;position:relative;overflow:hidden;isolation:isolate}
.hero-copy:after{content:'';position:absolute;z-index:-1;width:260px;height:260px;right:-174px;top:-130px;border:1px solid #81b99970;border-radius:48% 52% 65% 35%;box-shadow:0 0 0 19px #81b99913,0 0 0 40px #81b9990e,0 0 0 64px #81b9990b;transform:rotate(-25deg);pointer-events:none}
.hero-brand{border-top:5px solid var(--accent);padding-top:27px}
.hero-brand:before{content:'';position:absolute;width:360px;height:360px;right:-260px;top:-170px;border:1px solid #c5f06b50;border-radius:48% 52% 65% 35%;box-shadow:0 0 0 24px #c5f06b0b,0 0 0 52px #c5f06b08,0 0 0 84px #c5f06b08;transform:rotate(-25deg);pointer-events:none}
.hero-brand .brand-top,.hero-brand .training-figures,.hero-brand .brand-bottom{position:relative;z-index:1}
.training-figures figure{border:1px solid #ffffff26;background:#ffffff08;padding:12px 5px 8px}
.principles{background:var(--deep)}
.section{background:#fff}
.approach{border-bottom:1px solid var(--line)}
.approach-items article>span,.process-grid article>span{color:var(--green)}
.coaching,.about-learning,.about-credentials{background:var(--background)}
.offer,.intake-card{border-radius:0}.offer{border-top:4px solid var(--green)}.offer.featured{border-top-color:var(--accent)}
.process-grid{gap:18px}.process-grid article{border:1px solid var(--line);border-top:4px solid var(--green);padding:26px;background:#fff}.process-grid article>span{border:0;padding:0 0 24px}
.intake-section{background:var(--green)}.intake-card{border-top:4px solid var(--accent)}
.about-hero{background:var(--background)}.about-brand{border-top:5px solid var(--accent)}
.about-motto{background:var(--deep)}
.enroll{background:#fff}.enroll .button{background:var(--green)}
footer{background:#fff}footer .brand{align-self:start}footer .brand small{margin-top:6px}
@supports not (mask:url('twm-logo.svg')){.brand .mark{font-size:24px;line-height:32px;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;-webkit-mask:none;mask:none;background:none}.brand .mark:after{content:'TWM'}}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;padding:18px 4%}.hero-copy{padding:54px 7%}.hero h1{font-size:clamp(54px,6.8vw,82px)}.brand .mark{width:78px;height:28px}}
@media(max-width:850px){header{flex-wrap:wrap}.hero{grid-template-columns:1fr}.hero-brand{min-height:0}.hero-copy{padding:50px 7%}.training-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.training-figures img{height:145px}.training-figures figure{min-width:0}.training-figures figcaption{font-size:10px}}
@media(max-width:720px){header{padding:18px 6%}.brand{font-size:14px}.brand .mark{width:70px;height:25.1px}.brand small{font-size:9px}.brand-signature{font-size:12px}.hero{padding:12px 4% 24px;gap:12px}.hero-copy{padding:45px 7%}.hero h1{font-size:clamp(54px,12vw,68px)}.hero-brand{margin:0;padding:24px 18px}.training-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.training-figures img{height:155px}.process-grid article{padding:22px}.about-hero{padding-top:30px}.section{padding-left:6%;padding-right:6%}}
@media(max-width:380px){.brand{gap:7px}.brand .mark{width:62px;height:22.3px}.brand small{font-size:8px;letter-spacing:.06em}.brand-signature{font-size:11px;padding-left:5px}.training-figures img{height:130px}}
