/* Contact experience, appearance controls, and motion shared across the site. */
:root{--surface:#fff;--surface-raised:#fff;--page:#fff;--heading:#071b41;--accent-soft:#edf3ff}
body{background:var(--page);transition:background-color .25s,color .25s}
h1,h2,h3,h4{color:var(--heading)}
.theme-toggle{order:3;display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);padding:0}
.theme-toggle:hover{background:var(--accent-soft);transform:rotate(-12deg);border-color:var(--blue)}
.theme-sun{display:none}.nav nav{margin-left:auto;gap:23px}.nav{gap:18px}
.contact-hero{position:relative;background:#081d42;color:#c6d6eb;overflow:hidden;background-image:radial-gradient(ellipse at 85% 25%,#204a785e,transparent 55%)}
.contact-hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.contact-hero>.container{position:relative}.contact-hero .breadcrumbs{padding-top:27px;color:#a6bbd7;margin-bottom:35px}.contact-hero .breadcrumbs a{color:#b7c8df}
.contact-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:60px;padding:20px 0 60px}
.contact-hero .eyebrow{color:#d5e1ef;font-size:.68rem;display:flex;align-items:center;gap:12px}
.contact-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px #f6bc3915}
.contact-hero h1{color:white;font-size:clamp(3rem,5.2vw,4.9rem);line-height:1.08;margin-bottom:26px}
.contact-hero h1 em{color:#f7c45c}.contact-hero p{max-width:480px;font-size:1.05rem;line-height:1.8;color:#b8cae1}
.contact-hero-link{display:flex;align-items:center;gap:12px;font-size:.84rem;font-weight:650;color:#e1e9f5;padding:14px 0}.contact-hero-link:hover{color:var(--gold)}
.contact-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ffffff20;padding:20px 0;font-size:.78rem}.contact-hero-bottom>span:first-child{font-size:.65rem;letter-spacing:.12em;color:#f7c45c}.contact-hero-bottom>a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;font-size:1.1rem;color:white}
.contact-art{height:365px;position:relative;display:grid;place-items:center}
.contact-orbit{position:absolute;border:1px solid #7d9bc640;border-radius:50%;width:350px;height:350px;transform:rotate(-22deg)}
.orbit-one:before{content:'';position:absolute;width:14px;height:14px;background:#f7c45c;left:40px;top:44px;border-radius:50%;box-shadow:0 0 30px #f7c45650}
.orbit-two{width:275px;height:275px;border-style:dashed;opacity:.5}
.contact-art-core{width:230px;height:260px;background:linear-gradient(150deg,#214a77,#102f55);border:1px solid #6c94c350;border-radius:30px;transform:rotate(-7deg);box-shadow:0 30px 60px #0003;padding:30px;color:white;position:relative}
.contact-art-core>svg{color:#f7c45c;width:35px;height:35px;margin-bottom:22px}.contact-art-core>span:not(.art-arrow){font-size:.6rem;letter-spacing:.2em;color:#c0d5ee;display:block}.contact-art-core b{font-family:Manrope,sans-serif;font-size:2rem;line-height:1.2;letter-spacing:-.04em;display:block;margin-top:12px}.art-arrow{position:absolute;right:24px;bottom:21px;font-size:2.2rem;color:#f7c45c}
.contact-float{position:absolute;display:flex;align-items:center;gap:12px;border-radius:14px;padding:17px 20px;box-shadow:0 16px 35px #0002;font-size:.77rem;line-height:1.6}.contact-float svg{width:30px;height:30px}.float-code{right:0;top:44px;background:#f7c45c;color:#112647;animation:contact-drift 7s ease-in-out infinite}.float-book{bottom:20px;left:0;background:#f4f8ff;color:#172643;animation:contact-drift 8s ease-in-out infinite reverse}.float-book svg{color:#155fe8}.art-star{position:absolute;color:#f7c45c;font-size:1.8rem}.star-one{left:34px;top:44px}.star-two{right:35px;bottom:24px;font-size:1.1rem}
@keyframes contact-drift{50%{transform:translateY(-10px) rotate(2deg)}}
.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:55px;padding-bottom:55px}
.contact-channel{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--surface-raised);box-shadow:0 10px 40px #071b4106;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.contact-channel:after{content:'';position:absolute;right:-35px;top:-35px;width:130px;height:130px;border-radius:50%;background:var(--accent-soft);z-index:0}
.contact-channel>*{position:relative;z-index:1}.contact-channel:hover{transform:translateY(-7px);border-color:#7aa6ed;box-shadow:0 18px 40px #071b4112;color:var(--ink)}
.channel-icon{display:grid;place-items:center;width:50px;height:50px;background:var(--accent-soft);color:var(--blue);border-radius:14px;margin-bottom:24px;transition:transform .3s}.contact-channel:hover .channel-icon{transform:rotate(-8deg) scale(1.05)}
.contact-channel .eyebrow{font-size:.6rem;letter-spacing:.12em;margin-bottom:12px;color:var(--muted)}.contact-channel h2{font-size:1.5rem;margin-bottom:14px}.contact-channel p{font-size:.88rem;color:var(--muted);margin-bottom:23px}.channel-value{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.91rem;font-weight:700;overflow-wrap:anywhere}.channel-value>span{color:var(--blue);font-size:1.3rem}.channel-green .channel-icon{background:#e3f4eb;color:#157347}
.contact-studio{display:grid;grid-template-columns:1fr 1.3fr;gap:75px;padding-top:45px;padding-bottom:55px;align-items:start}
.contact-story{padding-top:30px}.contact-story .eyebrow{font-size:.66rem}.contact-story h2{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.15}.contact-story>p{color:var(--muted);max-width:390px}.contact-steps{margin:32px 0}.contact-steps>div{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-steps>div>span{font-size:.7rem;color:var(--blue);width:34px;height:34px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;flex-shrink:0}.contact-steps p{font-size:.87rem;color:var(--muted);margin:0}.contact-steps b{display:block;color:var(--ink);font-size:.94rem;margin-bottom:3px}.contact-note{background:var(--accent-soft);color:var(--ink)}
.contact-form{background:var(--surface-raised);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:22px;padding:38px;box-shadow:0 20px 70px #071b410a;scroll-margin-top:120px;position:relative}
.contact-form-heading{position:relative;padding-right:32px;margin-bottom:27px}.contact-form-heading .eyebrow{font-size:.63rem;margin-bottom:13px;color:var(--blue)}.contact-form-heading h2{font-size:1.85rem;margin-bottom:10px}.contact-form-heading p{font-size:.84rem;color:var(--muted);margin-bottom:0}.form-spark{position:absolute;right:0;top:12px;font-size:2rem;color:#b98414}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:var(--light);border-color:var(--line);transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #155fe810;outline:none}.contact-form .checkbox-label{display:block;padding-left:26px;position:relative}.contact-form .checkbox-label input{position:absolute;left:0;top:0}.contact-submit{width:100%;justify-content:space-between;border-radius:10px}.contact-submit span{font-size:1.35rem}.contact-form .form-help{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.7rem}.contact-form .form-help svg{width:14px;height:14px}
.contact-visit{padding-top:30px;padding-bottom:85px}.visit-panel{border:1px solid var(--line);border-radius:24px;display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;background:var(--surface-raised)}.visit-copy{padding:45px}.visit-copy .eyebrow{font-size:.62rem}.visit-copy h2{font-size:2.3rem}.visit-copy address{font-style:normal;font-weight:650;margin-bottom:18px}.visit-copy>p{font-size:.88rem;color:var(--muted)}.visit-copy .button{font-size:.8rem;padding:13px 17px}
.visit-visual{background:#e5edf7;position:relative;min-height:340px;overflow:hidden;display:grid;place-items:center}.map-grid{position:absolute;inset:-30%;background-image:linear-gradient(#bdcce04a 1px,transparent 1px),linear-gradient(90deg,#bdcce04a 1px,transparent 1px);background-size:48px 48px;transform:rotate(-18deg)}.map-road{position:absolute;background:#f8fbff;border:1px solid #c8d8ec;width:140%;height:28px;transform:rotate(-25deg)}.road-two{transform:rotate(65deg);height:40px;left:-25%}.map-pin{position:relative;background:#155fe8;color:white;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;box-shadow:0 0 0 18px #155fe812,0 0 0 40px #155fe809;animation:contact-drift 7s ease-in-out infinite}.map-pin svg{width:36px;height:36px}.map-label{position:absolute;top:calc(50% + 70px);font-weight:750;letter-spacing:.14em;font-size:.68rem;color:#183e73}.map-caption{position:absolute;bottom:17px;left:20px;font-size:.6rem;color:#526b8b}
/* Staggered reveals use transforms and opacity only; readable without JavaScript. */
.motion .reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(32px)}
.motion .reveal[data-reveal=left]{transform:translateX(-30px)}.motion .reveal[data-reveal=right]{transform:translateX(30px)}.motion .reveal[data-reveal=scale]{transform:translateY(20px) scale(.97)}
.motion .reveal.in-view{opacity:1;transform:none}.motion .contact-channel.in-view:hover,.motion .path-card.in-view:hover,.motion .course-card.in-view:hover{transform:translateY(-7px)}
html[data-theme=dark]{color-scheme:dark;--page:#0a1220;--surface:#111e31;--surface-raised:#132135;--heading:#eef4ff;--ink:#dce6f5;--muted:#a5b5cc;--line:#2a3a51;--light:#111d30;--accent-soft:#1a2e49;--blue:#85b2ff;--shadow:0 18px 50px #0003}
[data-theme=dark] .theme-moon{display:none}[data-theme=dark] .theme-sun{display:block}
[data-theme=dark] .site-header{background:#0c1727ed;border-color:var(--line)}[data-theme=dark] .brand small{color:var(--muted)}[data-theme=dark] .menu-toggle{color:var(--ink)}
[data-theme=dark] .hero{background:linear-gradient(115deg,#101f34,#172b44)}[data-theme=dark] .hero-copy>p,[data-theme=dark] .hero-notes,[data-theme=dark] .hero-bottom>span:first-child,[data-theme=dark] .image-credit{color:var(--muted)}[data-theme=dark] .hero-bottom{border-color:var(--line)}
[data-theme=dark] .path-card,[data-theme=dark] .course-card,[data-theme=dark] .floating-label,[data-theme=dark] .admin-panel,[data-theme=dark] .stat,[data-theme=dark] .rich-editor,[data-theme=dark] .image-dialog{background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme=dark] .floating-label span,[data-theme=dark] .breadcrumbs,[data-theme=dark] .breadcrumbs a{color:var(--muted)}[data-theme=dark] .big-monogram{color:#31415a}
[data-theme=dark] .button-outline{color:var(--ink);border-color:#40546f}[data-theme=dark] .button-outline:hover{background:#223753;color:#fff}[data-theme=dark] .button-gold{color:#071b41}[data-theme=dark] .button-gold:hover{color:#071b41}
[data-theme=dark] .blue{background:#1b3455;color:#a9cbff}[data-theme=dark] .green{background:#1d3a35;color:#a2dfc1}[data-theme=dark] .violet{background:#322d4e;color:#cabaff}[data-theme=dark] .coral{background:#442e2b;color:#f5b699}[data-theme=dark] .gold{background:#403822;color:#efce84}[data-theme=dark] .course-icon,[data-theme=dark] .course-level{background:#ffffff0d;border-color:#ffffff15}
[data-theme=dark] .project-panel,[data-theme=dark] .google-profile-card{background:var(--accent-soft);border-color:var(--line)}[data-theme=dark] .form-card{background:var(--surface)}[data-theme=dark] input:not([type=checkbox]),[data-theme=dark] select,[data-theme=dark] textarea{background:#0e1a2c;color:var(--ink);border-color:#3b4d65}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#8b9db7}
[data-theme=dark] .back-top{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme=dark] .skip{background:var(--surface)}[data-theme=dark] .admin-body{background:var(--page)}[data-theme=dark] .editor-toolbar{background:#192940;border-color:var(--line)}[data-theme=dark] .editor-toolbar button{background:var(--surface);color:var(--ink)}[data-theme=dark] .editor-toolbar button:hover{background:#243d60}[data-theme=dark] .status{background:#283a56}[data-theme=dark] .status.published,[data-theme=dark] .notice{background:#153a2c;color:#b4e8cb;border-color:#37684f}[data-theme=dark] .status.draft{background:#443720;color:#f1d18a}[data-theme=dark] .error{background:#3d2230;color:#ffd0d8;border-color:#794355}[data-theme=dark] .seo-preview h3{color:#85b2ff}[data-theme=dark] .seo-preview p,[data-theme=dark] .seo-preview .preview-url{color:var(--muted)}[data-theme=dark] .seo-check.pass>span{color:#7fddb0}[data-theme=dark] .seo-check>span{color:#eac57c}
[data-theme=dark] .channel-green .channel-icon{background:#1b3a31;color:#8de0b6}[data-theme=dark] .visit-visual{background:#152941}[data-theme=dark] .map-road{background:#213b58;border-color:#365474}[data-theme=dark] .map-grid{opacity:.35}[data-theme=dark] .map-label,[data-theme=dark] .map-caption{color:#b5cce9}
@media(max-width:1100px){.nav nav{gap:15px;font-size:.8rem}.nav{gap:12px}.contact-studio{gap:40px}.contact-hero-grid{gap:35px}.contact-art{transform:scale(.9)}.contact-channel{padding:25px}.contact-channel h2{font-size:1.3rem}.channel-value{font-size:.82rem}}
@media(max-width:800px){.theme-toggle{order:0;margin-left:auto}.menu-toggle{order:1}.nav nav{margin:0}.contact-hero-grid{grid-template-columns:1.2fr 1fr;gap:15px}.contact-hero h1{font-size:3.3rem}.contact-art{transform:scale(.75);transform-origin:center;min-width:300px;margin-left:-15px}.contact-options{gap:15px}.contact-channel{padding:22px}.contact-channel h2{font-size:1.12rem}.channel-value{font-size:.78rem}.contact-studio{gap:30px;grid-template-columns:1fr 1.2fr}.contact-form{padding:26px}.visit-copy{padding:30px}.visit-copy h2{font-size:2rem}[data-theme=dark] .nav nav{background:var(--surface)}.contact-hero-bottom>span:nth-child(2){font-size:.65rem}}
@media(max-width:600px){.contact-hero .breadcrumbs{padding-top:24px;margin-bottom:18px}.contact-hero-grid{grid-template-columns:1fr;padding:20px 0 28px;gap:10px}.contact-hero h1{font-size:3.2rem}.contact-hero p{font-size:.95rem}.contact-art{transform:none;min-width:0;height:270px;max-width:340px;width:100%;margin:20px auto 0}.contact-art-core{width:180px;height:205px;padding:22px}.contact-art-core b{font-size:1.55rem}.contact-art-core>svg{width:25px;height:25px;margin-bottom:14px}.contact-orbit{width:260px;height:260px}.orbit-two{width:210px;height:210px}.contact-float{padding:12px 14px;font-size:.64rem;gap:8px}.contact-float svg{width:24px;height:24px}.float-code{top:26px}.float-book{bottom:0;left:0}.star-one{left:30px;top:20px}.star-two{bottom:15px;right:20px}.contact-hero-bottom>span:nth-child(2){display:none}.contact-options{grid-template-columns:1fr;padding-top:30px;padding-bottom:25px;gap:16px}.contact-channel{padding:25px}.contact-channel h2{font-size:1.4rem}.channel-value{font-size:.9rem}.channel-icon{margin-bottom:18px}.contact-studio{grid-template-columns:1fr;padding-top:15px;gap:35px}.contact-story{padding-top:15px}.contact-story h2{font-size:2.5rem}.contact-form{padding:26px 22px}.contact-form-heading h2{font-size:1.6rem}.contact-visit{padding-top:0;padding-bottom:65px}.visit-panel{grid-template-columns:1fr}.visit-visual{min-height:255px}.visit-copy{padding:30px 25px}.visit-copy h2{font-size:2rem}.contact-hero-link{font-size:.8rem}.theme-toggle{width:38px;height:38px}.nav{gap:10px}.contact-form .form-help{font-size:.65rem}}
[data-theme=dark] .eyebrow{color:var(--muted)}
[data-theme=dark] .contact-hero .eyebrow{color:#d5e1ef}
[data-theme=dark] .cta-panel .eyebrow{color:var(--gold)}
[data-theme=dark] .stat b{color:var(--heading)}
[data-theme=dark] .button:not(.button-outline):not(.button-gold):not(.button-whatsapp):not(.button-danger){background:#244f85;border-color:#426b9f;color:#fff}
[data-theme=dark] .button:not(.button-outline):not(.button-gold):not(.button-whatsapp):not(.button-danger):hover{background:#2b609f}
@media(prefers-reduced-motion:reduce){.motion .reveal,.motion .reveal[data-reveal]{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Full motion can be explicitly enabled even when the device asks for reduced motion. */
html[data-motion=full]{scroll-behavior:smooth!important}
html[data-motion=off],html[data-motion=reduced]{scroll-behavior:auto}
.motion[data-motion=full] .reveal{opacity:0;transform:translateY(48px);transition-property:opacity,transform!important;transition-duration:1s!important;transition-timing-function:cubic-bezier(.16,1,.3,1)!important;transition-delay:var(--reveal-delay,0ms)!important}
.motion[data-motion=full] .reveal[data-reveal=left]{transform:translateX(-42px)}
.motion[data-motion=full] .reveal[data-reveal=right]{transform:translateX(42px)}
.motion[data-motion=full] .reveal[data-reveal=scale]{transform:translateY(30px) scale(.95)}
.motion[data-motion=full] .reveal.in-view{opacity:1;transform:none}
.motion[data-motion=full] .contact-channel.in-view:hover,.motion[data-motion=full] .path-card.in-view:hover,.motion[data-motion=full] .course-card.in-view:hover,.motion[data-motion=full] .post-card.in-view:hover{transform:translateY(-7px)}
.motion[data-motion=reduced] .reveal{opacity:0;transform:none!important;transition:opacity .25s ease!important;transition-delay:0s!important}
.motion[data-motion=reduced] .reveal.in-view{opacity:1}
.motion-toggle{border:1px solid #546782;border-radius:20px;color:#d9e4f3;background:transparent;padding:5px 12px;font-size:.7rem;line-height:1.4;white-space:nowrap}
.motion-toggle:hover{background:#1b3559;color:#fff;border-color:#aec6e8}
.footer-bottom>div{align-items:center;flex-wrap:wrap}
