:root{--ink:#19191D;--burgundy:#681F36;--ivory:#F5F0E8;--copper:#B98C76;--warm:#ECE1DC;--line:#D7C8C6;--white:#fff;--paper-pale:#FAF7F2;--paper-warm:#ECE1DC;--wine-deep:#401125;--wine-soft:#794658;--copper-light:#D8B4A2;--ink-muted:#61565C;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif;--wide:1400px;--side:clamp(25px,5.3vw,95px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}::selection{background:var(--copper);color:var(--ink)}.container{width:min(100% - (var(--side) * 2),var(--wide));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:20px;z-index:1001;padding:13px 20px;background:var(--ivory);color:var(--ink)}.skip-link:focus{top:16px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
/* HEADER */
.header{position:fixed;inset:0 0 auto 0;height:90px;color:var(--ivory);z-index:30;transition:background .3s ease,box-shadow .3s ease;isolation:isolate}.header:after{content:'';position:absolute;inset:auto var(--side) 0;height:1px;background:rgba(245,240,232,.16);transition:opacity .3s}.header.scrolled,.header.mobile-expanded{background:rgba(25,25,29,.97)}.header.scrolled:after,.header.mobile-expanded:after{opacity:0}.header-inner{width:min(100% - (var(--side) * 2),var(--wide));margin:auto;height:100%;display:flex;align-items:center;gap:clamp(25px,3.8vw,60px)}.brand{width:200px;min-width:160px;display:flex;flex-direction:column;align-items:flex-start;line-height:1;flex-shrink:0}.brand-word{font-family:var(--sans);font-weight:600;font-size:25px;letter-spacing:.11em}.brand-period{color:var(--copper)}.brand-secondary{display:flex;align-items:center;gap:5px;margin-top:7px;white-space:nowrap;font-size:6.9px;letter-spacing:.23em;font-weight:600;color:#E2D3CF}.brand-line{width:10px;height:1px;background:var(--copper)}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.35vw,38px);flex:1}.desktop-nav a{font-size:12px;letter-spacing:.045em;color:rgba(245,240,232,.76);white-space:nowrap;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--ivory)}.header-actions{display:flex;align-items:center;gap:27px;margin-left:auto}.lang-switch{display:flex;gap:9px;align-items:center;flex-shrink:0}.lang-button,.mobile-lang button{background:none;border:0;padding:7px 1px;color:rgba(245,240,232,.52);font-size:11px;letter-spacing:.05em}.lang-switch>span,.mobile-lang>span{color:rgba(245,240,232,.24);font-size:11px}.lang-button.active,.mobile-lang button.active{color:var(--ivory);font-weight:700}.header-cta{white-space:nowrap;border:1px solid rgba(245,240,232,.45);border-radius:2px;padding:10px 15px;font-size:11px;letter-spacing:.03em;transition:background .2s,color .2s}.header-cta:hover{background:var(--ivory);color:var(--ink)}.mobile-toggle{display:none;border:0;background:transparent;padding:16px 0 16px 15px;align-items:center;justify-content:center;flex-direction:column;gap:7px;z-index:2}.mobile-toggle span{display:block;height:1px;width:27px;background:var(--ivory);transition:transform .25s}.mobile-expanded .mobile-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.mobile-expanded .mobile-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-panel[hidden]{display:none}.mobile-panel{position:fixed;top:90px;left:0;right:0;bottom:0;background:#19191D;padding:45px var(--side) 32px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}.mobile-panel nav{display:flex;flex-direction:column}.mobile-panel nav a{font-family:var(--serif);font-size:clamp(34px,8vw,52px);line-height:1.45;border-bottom:1px solid rgba(245,240,232,.13)}.mobile-foot{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#D8C1C2}.mobile-lang{display:flex;gap:12px;align-items:center}
/* HERO */
.hero{position:relative;background:#681F36;color:var(--ivory);min-height:760px;min-height:100svh;overflow:hidden}.hero-photo{position:absolute;inset:0;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 28%,black 65%);background-image:url('assets/fretboard-art.svg');background-position:center;background-size:cover;opacity:.32;filter:grayscale(1) contrast(1.08);mix-blend-mode:soft-light}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,7,24,.62) 0%,rgba(63,9,31,.26) 34%,rgba(104,31,54,.07) 72%,rgba(48,10,29,.22) 100%),linear-gradient(0deg,rgba(48,9,28,.34),transparent 32%);z-index:1}.hero-drawing{position:absolute;right:-1.5%;top:9%;width:min(48vw,650px);height:85%;color:rgba(245,240,232,.28);opacity:.34;z-index:2;transform:rotate(-7deg)}.hero-drawing svg{width:100%;height:100%}.hero-noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(245,240,232,.006) 4px);pointer-events:none;z-index:2}.hero-layout{min-height:760px;min-height:100svh;display:flex;align-items:center;position:relative;z-index:3;padding-top:110px;padding-bottom:70px}.hero-content{width:min(760px,78%);padding-top:35px}.eyebrow,.kicker{font-size:10px;line-height:1.6;letter-spacing:.19em;font-weight:600;text-transform:uppercase}.hero-eyebrow{color:#D8B4A2;display:flex;align-items:center;gap:13px;margin-bottom:37px}.eyebrow-line{height:1px;background:var(--copper);width:37px}.hero h1{font:normal clamp(68px,7vw,119px)/.99 var(--serif);letter-spacing:-.055em;margin:0;font-weight:400;max-width:970px}.hero h1 em{font-style:italic;color:#D8B4A2;font-weight:400}.hero-description{max-width:455px;font-size:16px;line-height:1.85;color:#E9DFDC;margin:31px 0 33px}.hero-links{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:55px;padding:0 25px;border:1px solid transparent;border-radius:1px;font:600 12px var(--sans);letter-spacing:.025em;transition:background .22s ease,color .22s ease,transform .22s ease}.button:hover{transform:translateY(-2px)}.button-ivory{background:var(--ivory);color:var(--ink)}.button-ivory:hover{background:#E7D8D2}.text-link{font-size:12px;white-space:nowrap;display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:6px}.hero-secondary-link{color:#F5F0E8}.hero-right-label{position:absolute;right:0;top:44%;display:flex;align-items:center;gap:16px;transform:rotate(90deg) translateX(50%);transform-origin:100% 50%;font-size:9px;letter-spacing:.16em;color:rgba(245,240,232,.56);white-space:nowrap}.vertical-rule{height:1px;width:45px;background:var(--copper)}.hero-bottom{position:absolute;left:0;right:0;bottom:39px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.17em;color:#D2BCBA}.scroll-indicator{display:flex;align-items:center;gap:24px}.scroll-indicator span:last-child{font-size:19px;line-height:1}
/* GLOBAL SECTIONS */
.section-light{background:var(--ivory)}.section-ivory{background:var(--paper-warm)}.section-space{padding-top:clamp(95px,10.6vw,175px);padding-bottom:clamp(95px,10.6vw,175px)}.section-space-narrow{padding-top:clamp(75px,8vw,125px);padding-bottom:clamp(75px,8vw,125px)}.section-heading{display:grid;grid-template-columns:28% 1fr;align-items:start;gap:20px;margin-bottom:58px}.kicker{color:var(--burgundy);display:flex;gap:10px;padding-top:16px}.kicker-index{color:#A48686}.section-heading h2,.faq-intro h2{font:normal clamp(43px,5.1vw,83px)/1.09 var(--serif);letter-spacing:-.048em;margin:0;font-weight:400}.section-heading h2 em,.faq-intro h2 em{font-weight:400;color:var(--burgundy)}.section-subtitle{max-width:560px;font-size:15px;line-height:1.95;color:#61565C;margin:26px 0 0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
/* PATHS */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.path-card{border:1px solid var(--line);background:var(--paper-pale);overflow:hidden;min-width:0}.path-art{height:clamp(235px,24vw,350px);position:relative;overflow:hidden}.path-art-start{background:linear-gradient(135deg,var(--burgundy),var(--wine-deep));color:var(--copper-light)}.path-art-start:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 50%,rgba(0,0,0,.18))}.start-ring{position:absolute;border:1px solid rgba(185,140,118,.38);border-radius:50%;aspect-ratio:1;top:30%;left:55%;transform:translate(-50%,-30%)}.ring-1{width:380px}.ring-2{width:295px}.ring-3{width:210px}.start-big-number{position:absolute;left:40px;top:18px;font:italic 150px/1 var(--serif);opacity:.25;letter-spacing:-.1em}.path-art-start svg{position:absolute;inset:0;width:100%;height:100%;opacity:.8}.path-photo,.ginga-image{position:absolute;inset:0;background-size:cover;background-position:53% 48%}.path-photo{background-color:var(--wine-deep);background-image:url('assets/fretboard-art.svg');filter:grayscale(.5) sepia(.1)}.path-photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(50,28,39,.64),transparent 60%)}.path-image-index{position:absolute;bottom:22px;left:28px;color:#F5F0E8;font-size:10px;letter-spacing:.2em}.path-details{padding:37px clamp(25px,3.4vw,55px) 39px;min-height:277px;display:flex;flex-direction:column;align-items:flex-start}.path-serial{color:var(--burgundy);font-size:10px;letter-spacing:.15em;font-weight:700}.path-serial span{color:#8E7D7C}.path-details h3{font:normal clamp(29px,3vw,44px)/1.2 var(--serif);letter-spacing:-.034em;margin:18px 0 10px}.path-details p{font-size:14px;color:#665C60;line-height:1.9;max-width:475px;margin:0 0 24px}.path-open{font:600 12px var(--sans);display:flex;align-items:center;gap:32px;padding:6px 0 5px;background:transparent;border:0;border-bottom:1px solid var(--burgundy);color:var(--burgundy);margin-top:auto}.path-open:hover{gap:42px}.path-details-panel{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;margin-top:20px;background:#F2E7E4;border-left:3px solid var(--burgundy);padding:42px 65px 42px 42px}.path-details-panel[hidden]{display:none}.path-details-panel h3{font:normal 37px/1.1 var(--serif);margin:12px 0}.path-details-panel p{margin:0;color:#61565C;font-size:14px;line-height:1.8}.panel-tag{font:700 10px var(--sans);letter-spacing:.15em;color:var(--burgundy)}.path-details-panel ul{margin:6px 0;padding-left:18px;font-size:13px;line-height:2.2}.path-details-panel>.inline-arrow{grid-column:1/-1;width:max-content;font-size:12px;color:var(--burgundy);border-bottom:1px solid var(--burgundy);padding-bottom:3px;display:flex;gap:15px}.panel-close{position:absolute;right:21px;top:15px;border:0;background:none;color:var(--burgundy);font-size:28px}
/* CLASSES */
.classes-section .section-heading{margin-bottom:50px}.classes-list{border-top:1px solid #CBB7B8}.class-row{display:grid;grid-template-columns:64px minmax(180px,1fr) minmax(170px,280px) 25px;align-items:center;gap:20px;min-height:118px;border-bottom:1px solid #CBB7B8;transition:padding .25s,color .25s}.class-row:hover{padding-left:12px;color:var(--burgundy)}.class-num{font-size:11px;color:var(--burgundy);letter-spacing:.1em}.class-name{font:normal clamp(28px,3.4vw,49px)/1.2 var(--serif);letter-spacing:-.035em}.class-meta{font:600 9px/1.6 var(--sans);letter-spacing:.13em;color:#74676A}.row-arrow{font-size:24px;justify-self:end;color:var(--burgundy)}.classes-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:35px}.classes-mode{display:flex;gap:13px;align-items:center;font-size:12px;color:#74676A}.mode-dot{width:7px;height:7px;border-radius:50%;background:var(--burgundy)}.ink-link{color:var(--burgundy)}
/* METHOD */
.method-section{background:var(--burgundy);color:var(--ivory);overflow:hidden}.method-wrap{position:relative}.method-wrap:after{position:absolute;content:'G';font:normal 700px/.7 var(--serif);letter-spacing:-.14em;right:-10%;top:12%;color:rgba(245,240,232,.027);pointer-events:none}.method-top{display:flex;justify-content:space-between;align-items:start;gap:50px;position:relative;z-index:1}.kicker-on-dark{color:#D8B4A2}.kicker-on-dark .kicker-index{color:#B98C76}.method-top>p{font:14px/1.75 var(--sans);max-width:285px;margin:10px 0;color:#F2DCD7}.method-headline{margin:45px 0 95px;position:relative;z-index:1}.method-headline h2{font:normal clamp(54px,6.4vw,106px)/1.07 var(--serif);letter-spacing:-.055em;font-weight:400;margin:0}.method-headline h2 em{color:#D8B4A2}.method-steps{border-top:1px solid rgba(245,240,232,.32);display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}.method-step{padding:28px 20px 0 0;display:flex;gap:20px}.method-step>span{font-size:10px;letter-spacing:.1em;color:#D8B4A2;margin-top:8px}.method-step h3{font:normal 30px var(--serif);letter-spacing:-.035em;margin:0 0 16px}.method-step p{font-size:12px;line-height:1.8;color:#F0DCD8;margin:0;max-width:210px}.method-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;border-top:1px solid rgba(245,240,232,.22);padding-top:17px;margin-top:115px;color:#D8B4A2;font-size:9px;letter-spacing:.15em}
/* GINGA */
.ginga-layout{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:auto 1fr;column-gap:clamp(40px,7.8vw,135px);position:relative}.ginga-overline{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.ginga-asterisk{font-size:30px;color:var(--copper)}.ginga-copy{min-width:0}.ginga-copy h2{font:normal clamp(110px,13.5vw,235px)/.87 var(--serif);letter-spacing:-.09em;margin:0 0 39px;white-space:nowrap}.ginga-period{color:var(--burgundy)}.ginga-lead{font:normal clamp(24px,2.6vw,38px)/1.3 var(--serif);margin:0 0 22px;color:var(--burgundy)}.ginga-copy>p:not(.ginga-lead){font:15px/2 var(--sans);max-width:550px;color:#61565C;margin:0}.ginga-note{display:flex;align-items:start;gap:20px;max-width:520px;margin-top:42px;font:italic 20px/1.5 var(--serif);color:#794658}.ginga-rule{display:block;width:36px;height:1px;background:var(--copper);flex-shrink:0;margin-top:15px}.ginga-visual{position:relative;min-height:580px;background:var(--wine-deep);overflow:hidden}.ginga-image{background-image:url('assets/keys-art.svg');filter:grayscale(.68) sepia(.12);opacity:.8}.ginga-image-curtain{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,25,29,.5),rgba(104,31,54,.13))}.image-corner-label{position:absolute;left:27px;bottom:24px;font-size:10px;letter-spacing:.16em;color:var(--ivory)}
/* FAQ */
.faq-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(55px,8vw,135px)}.faq-intro h2{font-size:clamp(39px,4.1vw,64px);margin-top:24px}.faq-items{padding-top:5px}.faq-item{border-bottom:1px solid #CBB7B8}.faq-item:first-child{border-top:1px solid #CBB7B8}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0;cursor:pointer;font:normal clamp(19px,2vw,26px)/1.25 var(--serif)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span:last-child{font:normal 26px/1 var(--sans);color:var(--burgundy);transition:transform .2s}.faq-item[open] summary>span:last-child{transform:rotate(45deg)}.faq-item>p{font-size:13px;line-height:1.85;margin:-4px 0 24px;color:#65595E;max-width:530px}
/* CONTACT */
.contact-section{background:linear-gradient(135deg,var(--wine-deep) 0%,var(--ink) 58%,var(--ink) 100%);color:var(--ivory)}.contact-layout{display:grid;grid-template-columns:.93fr 1.07fr;gap:clamp(60px,8vw,140px);align-items:start}.contact-intro h2{font:normal clamp(59px,6.4vw,104px)/1.05 var(--serif);letter-spacing:-.055em;margin:45px 0 27px}.contact-intro h2 em{color:#D8B4A2}.contact-intro>p{max-width:430px;font-size:15px;line-height:1.9;color:#E4D8D5}.contact-location{display:flex;gap:12px;align-items:center;margin-top:75px;color:#D8B4A2;font-size:12px}.contact-dot{height:7px;width:7px;background:var(--copper);border-radius:50%}.contact-form{border-top:1px solid rgba(245,240,232,.32);padding-top:10px}.contact-form label{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:11px;color:#E2C9C4;letter-spacing:.04em;margin-top:21px}.contact-form label i{font-weight:400;font-style:normal;color:#9D8F93}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ivory);border:0;border-bottom:1px solid rgba(245,240,232,.29);border-radius:0;background:transparent;padding:10px 0 13px;outline:none;font:13px/1.6 var(--sans);color-scheme:dark;resize:vertical}.contact-form select{padding-right:20px;cursor:pointer}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#B1A3A5}.contact-form :is(input,select,textarea):focus{border-bottom-color:var(--copper)}.contact-form :is(input,select,textarea)[aria-invalid="true"]{border-bottom-color:#C95B68}.form-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.form-actions>p{max-width:240px;font:11px/1.6 var(--sans);color:#CBB9BC;margin:0}.form-result{border:1px solid rgba(245,240,232,.3);margin-top:25px;padding:22px}.form-result[hidden]{display:none}.form-result strong{font:normal 22px var(--serif)}.form-result p{font-size:12px;color:#D1BDBD}.form-result textarea{width:100%;font:12px/1.6 monospace;margin-bottom:10px}.copy-button{background:transparent;border:1px solid var(--copper);color:var(--ivory);padding:10px 17px;font-size:12px}
/* FOOTER */
.footer{background:var(--ink);color:var(--ivory)}.footer-inner{padding-top:73px;padding-bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-logo{font:bold 38px/1 var(--sans);letter-spacing:.08em}.footer-logo span{color:var(--copper)}.footer-inner>div:first-child p{font-size:9px;letter-spacing:.17em;color:#CBB9BC;margin:15px 0}.footer-links{display:flex;gap:30px;justify-content:flex-end;align-items:start;flex-wrap:wrap}.footer-links a{font-size:11px;color:#E4D8D5}.footer-links a:hover{color:var(--copper)}.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(245,240,232,.2);padding-top:22px;font-size:9px;letter-spacing:.12em;color:#C5B7B8}
@media(max-width:1140px){.desktop-nav{gap:17px}.header-inner{gap:20px}.brand{width:180px;min-width:145px}.header-actions{gap:16px}.header-cta{padding:10px}.method-step{gap:12px}.ginga-layout{gap:40px}.ginga-copy h2{font-size:clamp(94px,13vw,160px)}}
@media(max-width:940px){.desktop-nav,.header-cta,.header-actions .lang-switch{display:none}.mobile-toggle{display:flex}.header-inner{justify-content:space-between}.header-actions{margin-left:auto}.hero-content{width:90%}.hero h1{font-size:clamp(60px,8vw,95px)}.hero-photo{inset:0 0 0 20%;opacity:.55}.method-steps{grid-template-columns:repeat(2,1fr);row-gap:40px}.method-bottom{margin-top:75px}.ginga-layout{grid-template-columns:1fr 1fr;gap:35px}.ginga-visual{min-height:500px}.ginga-copy h2{font-size:clamp(88px,12vw,135px)}.contact-layout{gap:45px}}
@media(max-width:700px){:root{--side:23px}.header{height:74px}.header-inner{height:74px}.brand-word{font-size:23px}.brand-secondary{font-size:6px}.mobile-panel{top:74px}.hero,.hero-layout{min-height:740px;min-height:100svh}.hero-layout{padding-top:125px;padding-bottom:100px}.hero-photo{inset:0;opacity:.39;background-position:70% center}.hero:before{background:linear-gradient(90deg,rgba(25,25,29,.86),rgba(25,25,29,.4)),linear-gradient(0deg,rgba(25,25,29,.8),transparent 50%)}.hero-drawing{width:80%;right:-30%;top:18%;opacity:.35}.hero-content{width:100%;padding-top:0}.hero-eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(54px,11.5vw,79px);line-height:1.02}.hero-description{font-size:14px;line-height:1.75;max-width:380px}.hero-links{gap:21px}.hero-right-label{display:none}.hero-bottom{bottom:25px;font-size:8px;letter-spacing:.08em}.hero-bottom>span{max-width:170px}.scroll-indicator{gap:10px}.scroll-indicator span:first-child{display:none}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:39px}.kicker{padding-top:0}.section-heading h2{font-size:clamp(42px,9vw,64px)}.section-subtitle{font-size:14px;margin-top:19px}.path-grid{grid-template-columns:1fr;gap:15px}.path-art{height:280px}.path-details{min-height:230px;padding:28px 26px 31px}.path-details h3{font-size:35px}.path-details p{margin-bottom:20px}.path-details-panel{grid-template-columns:1fr;padding:30px;gap:17px}.path-details-panel>.inline-arrow{grid-column:auto;white-space:normal}.class-row{grid-template-columns:30px 1fr 20px;gap:15px;min-height:96px}.class-name{font-size:clamp(24px,6.5vw,34px)}.class-meta{display:none}.classes-foot{align-items:start}.method-top{flex-direction:column;gap:15px}.method-top>p{margin:0;max-width:360px}.method-headline{margin:44px 0 65px}.method-headline h2{font-size:clamp(44px,8vw,65px)}.method-steps{grid-template-columns:1fr 1fr;gap:32px 15px}.method-step{flex-direction:column;gap:3px;padding-top:20px}.method-step h3{font-size:27px}.method-step p{font-size:12px}.method-bottom{margin-top:65px;flex-wrap:wrap;gap:10px;font-size:8px}.ginga-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0}.ginga-overline{grid-column:auto;margin-bottom:30px}.ginga-copy h2{font-size:clamp(110px,23vw,160px);margin-bottom:31px}.ginga-copy>p:not(.ginga-lead){font-size:14px}.ginga-visual{margin-top:47px;min-height:420px}.ginga-note{margin-top:30px;font-size:18px}.faq-layout{grid-template-columns:1fr;gap:37px}.faq-intro h2{font-size:clamp(40px,8vw,57px)}.faq-item summary{font-size:23px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-intro h2{font-size:clamp(60px,11vw,83px);margin:28px 0 19px}.contact-intro>p{font-size:14px}.contact-location{margin-top:26px}.contact-form{padding-top:15px}.footer-inner{grid-template-columns:1fr;gap:33px}.footer-links{justify-content:start;gap:22px}.footer-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.form-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:clamp(53px,12.2vw,71px)}.hero-links{flex-direction:column;align-items:flex-start}.path-art{height:245px}.ginga-copy h2{font-size:clamp(97px,25vw,125px)}.method-steps{grid-template-columns:1fr 1fr}.method-step h3{font-size:23px}.method-headline h2{font-size:44px}.form-actions{flex-direction:column;align-items:flex-start}.form-actions>p{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Identidade oficial GINGA — V1.1: SVG real do pacote RGB. */
.brand{width:192px;min-width:192px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;flex-shrink:0}
.brand-img{display:block;width:190px;height:auto;max-height:85px;object-fit:contain;object-position:left center}
.footer-logo{display:inline-flex;max-width:275px;align-items:center}
.footer-logo img{display:block;width:min(100%,250px);height:auto}
@media(max-width:1120px){.brand{width:170px;min-width:170px}.brand-img{width:168px}.header-inner{gap:clamp(14px,2.2vw,30px)}.desktop-nav{gap:clamp(10px,1.6vw,27px)}.header-actions{gap:15px}}
@media(max-width:700px){.brand{width:143px;min-width:143px}.brand-img{width:142px;max-height:67px}}
@media(max-width:360px){.brand{width:128px;min-width:128px}.brand-img{width:126px}}

/* Brand color system V1.2 — full exact brand colors + harmonious supporting tints. */
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;bottom:-10px;left:0;right:100%;height:1px;background:var(--copper);transition:right .2s ease}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.header-cta:hover{border-color:var(--copper);background:var(--copper);color:var(--ink)}
.lang-button:focus-visible,.mobile-lang button:focus-visible{outline-color:var(--copper)}
.button-ivory:hover{background:var(--copper-light);color:var(--ink)}
.path-card{transition:border-color .25s ease}
.path-card:hover{border-color:var(--copper)}
.path-open:hover,.inline-arrow:hover,.ink-link:hover{color:var(--wine-soft)}
.class-row:hover .row-arrow{transform:translate(3px,-3px)}
.row-arrow{transition:transform .22s ease}
.form-result{background:rgba(245,240,232,.045)}
@media(max-width:700px){.hero:before{background:linear-gradient(90deg,rgba(42,7,24,.54),rgba(104,31,54,.05)),linear-gradient(0deg,rgba(48,9,28,.32),transparent 50%)}}

/* V1.4 — Commercial line and WhatsApp conversion. Follows official brand palette. */
.contact-direct{margin-top:35px;border-top:1px solid rgba(245,240,232,.22);padding-top:25px;max-width:420px}
.contact-direct>p:first-child{font-size:12px;line-height:1.6;letter-spacing:.01em;color:#E4D8D5;margin:0 0 17px}
.whatsapp-direct{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--ivory);font-size:14px;font-weight:600;transition:color .2s}
.whatsapp-direct:hover,.whatsapp-direct:focus-visible{color:var(--copper-light)}
.wa-circle{width:35px;height:35px;border:1px solid var(--copper);color:var(--copper-light);border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-size:18px;flex-shrink:0}
.contact-call{display:flex;flex-wrap:wrap;gap:7px;color:#E4D8D5;font:12px/1.7 var(--sans);margin:17px 0 0}
.contact-call a{color:var(--copper-light);text-decoration:none;border-bottom:1px solid rgba(216,180,162,.5)}
.form-result-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.whatsapp-send{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;background:var(--ivory);color:var(--burgundy);font-weight:700;font-size:12px;text-decoration:none;min-height:40px;transition:background .2s}
.whatsapp-send:hover{background:var(--copper-light);color:var(--ink)}
.footer-contact{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-top:27px}
.footer-contact a{font-size:11px;letter-spacing:.03em;color:#D8B4A2;text-decoration:none;line-height:1.6}
.footer-contact a:hover{color:var(--ivory)}
@media(max-width:700px){.contact-direct{margin-top:27px}.form-result-actions{flex-direction:column;align-items:stretch}.whatsapp-send,.copy-button{text-align:center}.footer-contact{margin-top:20px}}

/* ═══ V1.5 — hero editorial: approved burgundy-to-graphite gradient ═══ */
.hero{background:linear-gradient(112deg,#4A142B 0%,#361625 27%,#241B22 62%,#19191D 100%)}
.hero:before{background:radial-gradient(ellipse 64% 93% at 0% 15%,rgba(104,31,54,.34) 0%,rgba(104,31,54,.1) 52%,transparent 80%);z-index:1}
.hero-photo{display:none}
.hero-noise{opacity:.3}
.hero-drawing{opacity:.18;right:-3%;color:var(--copper)}
.hero h1{max-width:920px}
/* Navbar fits long 'Iglesias' label while retaining boutique-style navigation */
.desktop-nav{gap:clamp(12px,1.75vw,29px)}
.desktop-nav a{font-size:11.5px}
.header-inner{gap:clamp(17px,2vw,35px)}
.header-actions{gap:18px}
/* Instrument education statement */
.classes-pedagogy{margin-top:37px;padding:25px 0 6px;display:flex;gap:18px;align-items:start;border-top:1px solid rgba(104,31,54,.16)}
.classes-pedagogy p{font:normal clamp(16px,1.6vw,20px)/1.55 var(--serif);margin:0;max-width:760px;color:var(--burgundy)}
.classes-pedagogy-marker{color:var(--copper);font-size:22px;line-height:1}
/* Church institutional programs: separate and unmistakably visible */
.church-section{background:#19191D;color:var(--ivory);overflow:hidden;position:relative}
.church-section:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 62% 75% at 105% 3%,rgba(104,31,54,.32),transparent 70%);pointer-events:none}
.church-layout{position:relative}
.church-top{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:75px}
.church-kicker-right{font:600 9px/1.5 var(--sans);color:#C9AAAE;letter-spacing:.16em}
.church-content{display:grid;grid-template-columns:minmax(0,1.37fr) minmax(300px,.63fr);gap:clamp(50px,8vw,135px);align-items:center}
.church-main h2{font:normal clamp(51px,6.6vw,103px)/1.06 var(--serif);letter-spacing:-.055em;margin:0 0 34px}
.church-main h2 em{color:#D8B4A2;font-weight:400}
.church-lead{font:normal clamp(23px,2.5vw,36px)/1.3 var(--serif);color:var(--ivory);margin:0 0 22px}
.church-body{font:14px/1.9 var(--sans);max-width:590px;color:#DCCDD0;margin:0}
.church-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:39px}
.church-form-link{font-size:12px;color:#F5F0E8}
.church-aside{border-left:1px solid rgba(245,240,232,.2);padding-left:clamp(25px,3vw,55px)}
.church-accent{position:relative;height:205px;display:flex;align-items:center;justify-content:center;margin-bottom:35px;overflow:hidden;border-bottom:1px solid rgba(245,240,232,.2)}
.church-accent span{font:italic 255px/.7 var(--serif);letter-spacing:-.13em;color:#4A2532;transform:translateX(-15px)}
.church-accent i{position:absolute;width:210px;height:210px;border:1px solid rgba(185,140,118,.6);border-radius:50%;top:28px;right:5px}
.church-aside-lines>div{display:grid;grid-template-columns:45px 1fr;gap:10px;padding:21px 0;border-bottom:1px solid rgba(245,240,232,.19);font:12px/1.65 var(--sans);color:#E6DAD8}
.church-aside-lines>div span:first-child{font-size:10px;letter-spacing:.12em;color:var(--copper)}
.church-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(245,240,232,.18);margin-top:110px;padding-top:18px;font-size:9px;letter-spacing:.16em;color:#C7ADB2}
/* WhatsApp entry should remain prominent */
.whatsapp-direct:hover{color:var(--copper-light)}
/* Small screens */
@media (max-width:1180px){.header-cta{display:none}.brand{min-width:165px;width:165px}.brand-img{width:162px}}
@media (max-width:940px){.church-content{grid-template-columns:1fr}.church-aside{border-left:0;padding-left:0;display:grid;grid-template-columns:.6fr 1fr;gap:38px;align-items:center}.church-top{margin-bottom:44px}.church-bottom{margin-top:65px}.hero-drawing{opacity:.12}}
@media (max-width:700px){.hero{background:linear-gradient(128deg,#4A142B 0%,#361625 43%,#241B22 77%,#19191D 100%)}.hero:before{background:radial-gradient(ellipse 95% 80% at 0% 14%,rgba(104,31,54,.31),transparent 73%)}.hero-drawing{opacity:.09}.church-main h2{font-size:clamp(46px,10vw,70px)}.church-top{align-items:start;gap:14px}.church-kicker-right{max-width:140px;text-align:right;font-size:8px}.church-aside{grid-template-columns:1fr}.church-accent{display:none}.church-aside-lines>div{padding:19px 0}.church-bottom{align-items:start;font-size:8px}.church-main .church-actions{gap:20px}.classes-pedagogy{margin-top:27px}}

/* V1.5.1 — Correção de legibilidade dos menus suspensos nativos.
   O campo fechado permanece marfim sobre o fundo escuro.
   A lista aberta passa a ser marfim com texto grafite, inclusive no Windows. */
.contact-form select {
  color-scheme: light;
  color: #F5F0E8;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23F5F0E8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 16px 16px;
}
.contact-form select option,
.contact-form select optgroup {
  color: #19191D;
  background-color: #F5F0E8;
}
.contact-form select option:checked {
  color: #19191D;
  background-color: #E8D8D5;
}

/* V1.6 — accessibility and inquiry refinements */
.form-error{border-left:3px solid #D8B4A2;padding:10px 14px;background:rgba(104,31,54,.42);color:#F5F0E8;font:13px/1.5 var(--sans);margin:20px 0 0}
.form-error[hidden]{display:none}
.form-privacy{margin:15px 0 0;font:11px/1.65 var(--sans);color:#E0CDD0;max-width:560px}
.contact-form :is(input,select,textarea)[aria-invalid="true"]{border-bottom-color:#EDB8BD}
.contact-form :is(input,select,textarea):focus-visible{outline:2px solid #D8B4A2;outline-offset:3px}
.mobile-panel nav a{padding:7px 0}
.mobile-lang button{min-width:38px;min-height:44px}
.lang-button{min-width:28px;min-height:36px}
@media(prefers-reduced-motion:reduce){.hero-drawing,.hero-noise{animation:none!important}}


/* V1.7 — fotografias reais integradas */
.hero-photo{display:block;background-image:url("assets/photos/hero.webp");background-position:68% center;background-size:cover;opacity:.94;filter:none;mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent 0%, rgba(0,0,0,.18) 18%, rgba(0,0,0,.8) 44%, black 62%)}
.hero:before{background:linear-gradient(90deg,rgba(92,23,48,.92) 0%,rgba(92,23,48,.78) 16%,rgba(50,22,37,.62) 38%,rgba(25,25,29,.72) 100%),linear-gradient(0deg,rgba(29,13,21,.40),transparent 38%)}
.hero-drawing{color:rgba(245,240,232,.16);opacity:.22}
.hero-noise{opacity:.55}
.path-art-start{background:none;color:#F2D6CA}
.path-art-start:before{content:"";position:absolute;inset:0;background-image:url("assets/photos/path-start.webp");background-size:cover;background-position:center;filter:saturate(.95) contrast(1.02)}
.path-art-start:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(104,31,54,.72),rgba(25,25,29,.20) 55%,rgba(25,25,29,.48) 100%)}
.start-ring,.start-big-number,.path-art-start svg{z-index:1;position:absolute}
.path-photo{background-color:var(--wine-deep);background-image:url("assets/photos/path-advance.webp");background-position:center 22%;filter:saturate(.88) contrast(1.03)}
.path-photo-shade{background:linear-gradient(0deg,rgba(25,25,29,.72),rgba(104,31,54,.12) 55%,rgba(25,25,29,.18) 100%)}
.church-accent{height:300px;border:1px solid rgba(245,240,232,.14);border-bottom:0;background:#231920}
.church-accent:before{content:"";position:absolute;inset:0;background-image:url("assets/photos/church.webp");background-size:cover;background-position:center;filter:saturate(.95) brightness(.92)}
.church-accent:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,25,29,.12),rgba(25,25,29,.82) 100%),linear-gradient(135deg,rgba(104,31,54,.34),transparent 50%)}
.church-accent span,.church-accent i{display:none}
.church-accent-label{position:absolute;left:18px;bottom:14px;font-size:10px;letter-spacing:.15em;color:#F5F0E8;z-index:2}
.ginga-image{background-image:url("assets/photos/ginga.webp");background-position:center;background-size:cover;filter:none;opacity:1}
.ginga-image-curtain{background:linear-gradient(0deg,rgba(25,25,29,.54),rgba(104,31,54,.08) 40%,rgba(255,255,255,.03) 100%)}
.contact-section{position:relative;isolation:isolate}
.contact-section:before{content:"";position:absolute;inset:0;background-image:url("assets/photos/contact.webp");background-size:cover;background-position:center;opacity:.12;mix-blend-mode:screen;z-index:0}
.contact-section>.container{position:relative;z-index:1}
@media(max-width:940px){.hero-photo{background-position:64% center;opacity:.88;mask-image:linear-gradient(90deg,rgba(0,0,0,.05), rgba(0,0,0,.42) 32%, black 72%)}.church-accent{height:250px}}
@media(max-width:700px){.hero-photo{inset:0;background-position:67% center;opacity:.68;mask-image:none}.hero:before{background:linear-gradient(0deg,rgba(25,25,29,.78),rgba(25,25,29,.30)),linear-gradient(90deg,rgba(92,23,48,.88),rgba(25,25,29,.52) 78%)}.path-art-start:before{background-position:64% center}.path-photo{background-position:center 30%}.church-accent{display:block;height:230px;margin-bottom:25px}.ginga-visual{min-height:390px}.contact-section:before{opacity:.08}}


/* ================================================================
   GINGA v1.8 — motion system / real-photography enhancement
   Gentle transitions, keyboard-accessible instrument interactions,
   static fallbacks, and reduced-motion support.
   ================================================================ */
:root { --ginga-motion-ease: cubic-bezier(.22,1,.36,1); }
.hero-photo{display:block!important;position:absolute;inset:0;background:none!important;opacity:1!important;mask-image:none!important;filter:none!important;mix-blend-mode:normal!important;overflow:hidden;pointer-events:none;}
.hero-slide{position:absolute;inset:0;opacity:0;background-position:70% center;background-size:cover;transform:scale(1.055);transition:opacity 1900ms ease, transform 9000ms linear;will-change:opacity,transform;}
.hero-slide.is-active{opacity:1;transform:scale(1);}
.hero-slide:nth-child(1){background-image:url('assets/photos/hero.webp')}
.hero-slide:nth-child(2){background-image:url('assets/photos/hero-electric.webp');background-position:72% 50%}
.hero-slide:nth-child(3){background-image:url('assets/photos/hero-bass.webp');background-position:67% 52%}
/* This tint keeps the text legible and the brand's burgundy-to-graphite progression. */
.hero:before{background:linear-gradient(90deg,rgba(73,17,41,.96) 0%,rgba(73,17,41,.91) 22%,rgba(53,22,37,.75) 44%,rgba(25,25,29,.38) 70%,rgba(25,25,29,.47) 100%),linear-gradient(0deg,rgba(25,25,29,.28),transparent 42%)!important;}
.hero-drawing{opacity:.12!important;}
/* Shared photographic reveal uses subtle scale only — no parallax on scroll. */
.photo-reveal{overflow:hidden}
.photo-reveal::before,.photo-reveal .path-photo,.photo-reveal .ginga-image{transition:transform 950ms var(--ginga-motion-ease),filter 950ms ease;}
.photo-reveal.visible::before,.photo-reveal.visible .path-photo,.photo-reveal.visible .ginga-image{transform:scale(1);}
.path-art-start::before,.path-photo,.ginga-image{transform:scale(1.035)}
.path-card:hover .path-art-start::before,.path-card:hover .path-photo{transform:scale(1.055)}
.ginga-visual:hover .ginga-image{transform:scale(1.025)}
/* Instrument navigation: keep the elegantly minimal list, add one visual stage. */
.classes-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.49fr);gap:clamp(26px,4vw,78px);align-items:stretch}
.classes-showcase .classes-list{min-width:0}
.classes-showcase .class-row{grid-template-columns:42px minmax(140px,1fr) 24px;gap:16px;min-height:121px;position:relative}
.classes-showcase .class-meta{display:none}
.classes-showcase .class-name{font-size:clamp(28px,3.3vw,47px)}
.instrument-stage{position:relative;background:var(--wine-deep);min-height:364px;overflow:hidden;isolation:isolate}
.instrument-stage-image{position:absolute;inset:0;opacity:0;background-position:center;background-size:cover;transform:scale(1.045);transition:opacity .75s ease,transform 1.15s var(--ginga-motion-ease);}
.instrument-stage-image.is-active{opacity:1;transform:scale(1)}
.instrument-stage-image:nth-child(1){background-image:url('assets/photos/instrument-acoustic.webp');background-position:center 48%}
.instrument-stage-image:nth-child(2){background-image:url('assets/photos/instrument-electric.webp');background-position:center 52%}
.instrument-stage-image:nth-child(3){background-image:url('assets/photos/instrument-bass.webp');background-position:center 49%}
.instrument-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,25,29,.65),transparent 40%,rgba(104,31,54,.18));pointer-events:none;z-index:1}
.instrument-stage-caption{position:absolute;bottom:25px;left:27px;z-index:2;color:var(--ivory);letter-spacing:.16em;font:600 9px/1.6 var(--sans)}
.classes-showcase .class-row:is(:hover,:focus-visible){color:var(--burgundy);padding-left:6px}
.class-mini-photo{display:none}
@media(max-width:900px){
  .classes-showcase{grid-template-columns:minmax(0,1fr) minmax(240px,.45fr);gap:24px}
  .classes-showcase .class-row{min-height:112px}
  .instrument-stage{min-height:338px}
}
@media(max-width:700px){
  .hero-slide,.hero-slide:nth-child(2),.hero-slide:nth-child(3){background-position:66% center}
  .hero:before{background:linear-gradient(90deg,rgba(73,17,41,.86),rgba(25,25,29,.48)),linear-gradient(0deg,rgba(25,25,29,.63),transparent 52%)!important;}
  .classes-showcase{grid-template-columns:1fr;gap:0}
  .classes-showcase .class-row{grid-template-columns:24px minmax(0,1fr) 77px 19px;min-height:113px;gap:13px}
  .classes-showcase .class-name{font-size:clamp(23px,6vw,34px)}
  .instrument-stage{display:none}
  .class-mini-photo{display:block;aspect-ratio:1/1;width:72px;background-size:cover;background-position:center;filter:saturate(.82);transition:transform .45s ease}
  .class-row[data-class='acoustic'] .class-mini-photo{background-image:url('assets/photos/instrument-acoustic.webp')}
  .class-row[data-class='electric'] .class-mini-photo{background-image:url('assets/photos/instrument-electric.webp')}
  .class-row[data-class='bass'] .class-mini-photo{background-image:url('assets/photos/instrument-bass.webp')}
  .classes-showcase .class-row:active .class-mini-photo{transform:scale(1.035)}
}
@media(max-width:370px){.classes-showcase .class-row{grid-template-columns:20px minmax(0,1fr) 62px 17px;gap:9px}.class-mini-photo{width:60px}.classes-showcase .class-name{font-size:24px}}
@media(prefers-reduced-motion:reduce){
  .hero-slide,.hero-slide.is-active,.instrument-stage-image,.instrument-stage-image.is-active,.path-art-start::before,.path-photo,.ginga-image,.class-mini-photo{transition:none!important;animation:none!important;transform:none!important;}
  .hero-slide:not(:first-child){display:none!important}
  .hero-slide:first-child{opacity:1!important}
  .photo-reveal,.reveal{opacity:1!important;transform:none!important}
}

/* Ensure the photo caption remains visible over church imagery. */
.church-accent .church-accent-label{display:block;transform:none;font:600 10px/1.4 var(--sans);letter-spacing:.15em;color:#F5F0E8;left:18px;bottom:15px;z-index:2}

/* V1.8.1 — aulas online com um celular: destaque editorial, sem equipamentos caros. */
.online-simple{
  display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:25px;align-items:center;
  padding:28px 31px;margin-top:38px;background:#EDE3DF;border-left:3px solid #681F36;
}
.online-simple-icon{height:60px;width:60px;display:flex;align-items:center;justify-content:center;color:#681F36;border:1px solid rgba(104,31,54,.28);border-radius:50%}
.online-simple-eyebrow{display:block;font:700 10px/1.5 var(--sans);letter-spacing:.15em;color:#681F36;margin-bottom:5px}
.online-simple h3{margin:0 0 8px;font:normal clamp(25px,2.5vw,36px)/1.13 var(--serif);letter-spacing:-.025em;color:#19191D}
.online-simple p{margin:0;max-width:670px;font:13px/1.75 var(--sans);color:#51464B}
.online-simple-link{justify-self:end;white-space:nowrap;color:#681F36;font:600 12px/1.5 var(--sans);padding-bottom:5px;border-bottom:1px solid #681F36;transition:opacity .2s}
.online-simple-link:hover{opacity:.72}
.online-simple-link:focus-visible{outline:2px solid #681F36;outline-offset:4px}
@media(max-width:850px){
 .online-simple{grid-template-columns:54px minmax(0,1fr);gap:18px;padding:24px}
 .online-simple-icon{width:52px;height:52px}
 .online-simple-link{grid-column:2;justify-self:start;margin-top:0}
}
@media(max-width:480px){
 .online-simple{grid-template-columns:1fr;gap:13px;padding:23px 22px;margin-top:27px}
 .online-simple-icon{width:49px;height:49px}
 .online-simple-icon svg{width:30px}
 .online-simple-link{grid-column:1;margin-top:5px}
}


/* GINGA 1.1.1 — Acesso ao portal; preserva o CTA comercial do site. */
.header-portal{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;
  white-space:nowrap;flex-shrink:0;padding:8px 2px;
  font:600 11px/1.3 var(--sans);letter-spacing:.02em;color:var(--ivory);
  border-bottom:1px solid rgba(245,240,232,.55);transition:color .2s,border-color .2s;
}
.header-portal:hover{color:var(--copper-light);border-color:var(--copper-light)}
.header-portal:focus-visible,.mobile-portal:focus-visible{outline:2px solid var(--ivory);outline-offset:5px}
.mobile-panel nav a.mobile-portal{color:var(--copper-light)}
/* Em telas intermediarias, o CTA de contato continua no menu; priorizar o acesso. */
@media(max-width:1320px){.header-cta{display:none}}
@media(max-width:940px){.header-actions{display:flex;margin-left:auto}.header-portal{min-height:44px;padding:8px 9px;border:1px solid rgba(245,240,232,.45);border-radius:2px}}
@media(max-width:430px){.header-inner{gap:8px}.brand{width:140px;min-width:125px}.brand-img{width:140px;height:auto}.header-actions{gap:6px}.header-portal{font-size:10px;padding:9px 8px}.mobile-toggle{padding-left:9px}}

/* V1.3 — cabeçalho: CTA | idiomas | Login no extremo direito. Sem alteração dos fundos institucionais. */
.header-inner{width:min(100% - (var(--side) * 2),1560px)}
.header-actions{gap:clamp(13px,1.8vw,30px);margin-left:auto;flex-shrink:0}
.header-actions .header-cta{margin-right:clamp(8px,2.2vw,38px)}
.header-portal{border:1px solid rgba(245,240,232,.5);border-radius:4px;padding:9px 16px;min-height:40px;letter-spacing:.07em;transition:background .2s,color .2s}
.header-portal:hover{background:rgba(245,240,232,.12)}
@media(max-width:1320px){.header-cta{display:none}}
@media(max-width:940px){.header-actions .lang-switch{display:none}.header-portal{padding:8px 15px}}
@media(max-width:430px){.header-portal{padding:8px 12px}.header-inner{gap:9px}}
