.header-booking{display:flex;gap:9px;align-items:center}.header-booking a{background:var(--orange);color:#19120e;padding:11px 14px;font-size:.82rem;font-weight:700;white-space:nowrap;transition:transform .2s,background .2s}.header-booking a:hover{background:#ff924f;transform:translateY(-2px)}.header-booking a:last-child{background:#292622;color:var(--white);border:1px solid var(--orange)}.header-booking a:last-child:hover{background:#41332a}.location-card a{display:inline-flex;align-items:center;background:var(--orange);color:#17110d;padding:13px 17px;border:0;transition:transform .2s,background .2s}.location-card a:hover{color:#17110d;background:#ff944f;transform:translateY(-2px)}.hero-visual img{object-position:center center}@media(max-width:1120px){.nav{display:none}}@media(max-width:700px){.header-inner{align-items:flex-start;flex-direction:column;gap:8px;padding-block:10px}.header-booking{width:100%;display:grid;grid-template-columns:1fr 1fr}.header-booking a{text-align:center;white-space:normal;display:grid;place-items:center;min-height:44px;padding:8px 5px;font-size:.76rem}.hero-visual{height:340px}.hero-copy{padding-top:48px}}

    :root{--ink:#10100f;--panel:#1a1a18;--line:#373630;--white:#f6f3ed;--muted:#bdb8ae;--orange:#ff751f;--cream:#e5ded1}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}::selection{background:var(--orange);color:#111}
    .shell{max-width:1320px;margin:auto;padding-inline:clamp(20px,4vw,66px)}.eyebrow{color:var(--orange);font-family:'Oswald',sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:.86rem;font-weight:500}.display{font-family:'Oswald',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.03em;line-height:.98;font-weight:600}.section-title{font-size:clamp(2.8rem,6vw,5.4rem);margin:14px 0 22px}.orange{color:var(--orange)}
    .site-header{position:relative;z-index:5;border-bottom:1px solid #ffffff1c;background:#11110fec}.header-inner{min-height:88px;display:flex;align-items:center;gap:26px;justify-content:space-between}.brand{display:flex;align-items:center;flex:none}.brand img{width:150px;height:auto}.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px)}.nav a{font-size:.9rem;color:#ddd9d0;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--orange)}.header-action{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#18120e;padding:13px 20px;font-weight:700;font-size:.9rem;min-height:46px;transition:transform .2s,background .2s}.header-action:hover,.button-primary:hover{background:#ff924f;transform:translateY(-2px)}
    .hero{overflow:hidden;position:relative;min-height:700px;background:radial-gradient(circle at 73% 24%,#4f2a17 0,transparent 37%),linear-gradient(110deg,#11110f 3%,#1d1b18 61%,#372316)}.hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(108deg,transparent 0 87px,#ffffff04 88px 89px);pointer-events:none}.hero-grid{min-height:700px;display:grid;grid-template-columns:1.07fr .93fr;gap:5%;align-items:center;position:relative}.hero-copy{padding:75px 0 90px;z-index:1}.hero-label{display:flex;align-items:center;gap:12px;margin-bottom:23px}.hero-label::before{content:'';display:block;width:36px;height:2px;background:var(--orange)}h1{font-size:clamp(4rem,8.5vw,9.4rem);max-width:800px;margin:0}.hero-copy p{font-size:clamp(1.05rem,1.45vw,1.27rem);color:#d4cec4;max-width:510px;margin:28px 0 34px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.button-primary,.button-outline{min-height:56px;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.button-primary{background:var(--orange);color:#14100c}.button-outline{border:1px solid #a6a096;color:#f6f3ed}.button-outline:hover{border-color:var(--orange);transform:translateY(-2px)}.arrow{font-size:1.25rem;line-height:1}.hero-visual{height:620px;align-self:end;position:relative;margin-top:50px}.hero-visual::before{content:'';position:absolute;inset:26px -18px -18px 26px;border:1px solid #ff751f75}.hero-visual::after{content:'EDI / 01';font-family:'Oswald',sans-serif;letter-spacing:.18em;position:absolute;bottom:0;right:0;background:var(--orange);color:#111;padding:12px 22px;font-size:.85rem}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.74) contrast(1.06)}.vertical-caption{position:absolute;bottom:80px;left:-36px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Oswald',sans-serif;letter-spacing:.22em;font-size:.75rem;color:#e1d9cb}
    .quick-bar{border-bottom:1px solid var(--line);background:#171715}.quick-inner{display:grid;grid-template-columns:1fr 1fr 1fr}.quick-item{padding:23px 24px;border-right:1px solid var(--line);display:flex;align-items:center;gap:14px}.quick-item:first-child{padding-left:0}.quick-item:last-child{border-right:0}.quick-number{font-family:'Oswald',sans-serif;color:var(--orange);font-size:1.5rem}.quick-item span:last-child{font-size:.94rem;color:#d8d3c9}
    section{scroll-margin-top:20px}.locations{padding-block:105px}.section-intro{max-width:670px;color:var(--muted);font-size:1.06rem;margin:0 0 42px}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.location-card{min-height:330px;border:1px solid var(--line);background:linear-gradient(145deg,#22211e,#171715);padding:38px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.location-card::after{content:'01';position:absolute;right:20px;top:-34px;font:700 14rem/1 'Oswald';color:#ffffff06;pointer-events:none}.location-card:nth-child(2)::after{content:'02'}.location-card .unit{color:var(--orange);font-family:'Oswald';text-transform:uppercase;letter-spacing:.18em;font-size:.85rem}.location-card h3{font:600 clamp(2.6rem,4.6vw,4.7rem)/1 'Oswald';text-transform:uppercase;letter-spacing:-.025em;margin:18px 0 12px;z-index:1}.location-card p{color:#c5bfb4;max-width:380px;margin:0 0 auto;z-index:1}.location-card a{margin-top:34px;border-bottom:1px solid var(--orange);padding-bottom:8px;color:var(--white);font-weight:700;z-index:1}.location-card a:hover{color:var(--orange)}.booking-note{font-size:.86rem;color:#99948b;margin-top:16px}
    .services{background:var(--cream);color:#161513;padding-block:104px}.services .eyebrow{color:#bd5212}.services-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.services-heading p{max-width:380px;color:#5f5b54;margin:0 0 9px}.service-list{border-top:1px solid #b6afa4}.service-row{border-bottom:1px solid #b6afa4;display:grid;grid-template-columns:76px minmax(180px,1fr) 1fr;align-items:center;gap:15px;padding:23px 0}.service-row .index{color:#b6551b;font-family:'Oswald';font-size:1rem}.service-row h3{font:500 clamp(1.5rem,2.8vw,2.25rem)/1.1 'Oswald';margin:0;text-transform:uppercase}.service-row p{color:#5c5850;margin:0}.service-row:last-child{border-bottom:0}
    .pricing{padding-block:108px;background:#111110}.pricing-top{display:flex;align-items:end;justify-content:space-between;gap:25px}.pricing-top p{color:var(--muted);max-width:360px;margin-bottom:25px}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:25px}.price-card{border:1px solid #45423e;padding:36px;background:#1c1b19}.price-card.featured{border-color:var(--orange);background:linear-gradient(145deg,#2d241d,#1b1a18)}.price-card .days{font-family:'Oswald';font-size:clamp(1.7rem,3vw,2.6rem);text-transform:uppercase;margin:0 0 8px}.price-card .day-note{color:var(--muted);margin:0 0 28px}.price-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid #ffffff20}.price-line strong{font:500 1.55rem 'Oswald';white-space:nowrap}.price-line span{color:#ddd7cc}.extras{display:flex;gap:20px 44px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:23px;color:var(--muted)}.extras strong{color:var(--white)}
    .closing{background:var(--orange);color:#1b130f;overflow:hidden}.closing-inner{padding-block:70px;display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{font-size:clamp(3rem,6vw,6.1rem);margin:8px 0 0;max-width:750px}.closing .eyebrow{color:#51240f}.closing a{background:#171614;color:#fff;padding:18px 25px;min-height:60px;font-weight:700;display:inline-flex;gap:20px;align-items:center;white-space:nowrap;transition:transform .2s}.closing a:hover{transform:translateY(-3px)}
    footer{background:#10100f;padding-block:55px 24px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-top img{width:170px}.footer-links{display:flex;gap:18px 28px;flex-wrap:wrap}.footer-links a{color:#c9c4ba}.footer-links a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:21px;display:flex;justify-content:space-between;gap:20px;color:#8e8981;font-size:.86rem}
    .price-unit{margin-top:40px}.price-unit.pedreira{margin-top:70px;padding-top:48px;border-top:1px solid var(--line)}.unit-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.unit-heading h3{font-size:clamp(2.5rem,5vw,4.5rem);margin:8px 0 0}.unit-heading a{border:1px solid var(--orange);padding:12px 18px;color:var(--white);font-weight:700;white-space:nowrap;transition:background .2s}.unit-heading a:hover{background:var(--orange);color:var(--ink)}.pedreira-grid{grid-template-columns:minmax(0,1fr);max-width:630px}.plans{background:#24211d;border-block:1px solid #48413a;padding-block:92px}.plans-inner{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:50px}.plans .section-title{margin-bottom:22px}.plans p{color:#d2c9bd;max-width:650px;font-size:1.08rem}.plans-action{background:#141311;border:1px solid #594435;padding:28px;display:grid;gap:12px}.plans-action span{color:#d5cdc2;margin-bottom:7px}.plans-action a{background:var(--orange);color:#17110d;font-weight:700;padding:14px 18px;text-align:center}.plans-action a:last-child{background:transparent;color:var(--white);border:1px solid var(--orange)}.plans-action a:hover{filter:brightness(1.17)}@media(max-width:700px){.unit-heading{display:block}.unit-heading a{display:inline-block;margin-top:16px}.plans{padding-block:70px}.plans-inner{grid-template-columns:1fr;gap:24px}.plans-action{padding:22px}}
    @media(max-width:900px){.nav{display:none}.hero-grid{grid-template-columns:1fr .8fr;gap:3%}.hero-visual{height:550px}.services-heading,.pricing-top{display:block}.services-heading p,.pricing-top p{margin:0 0 24px}.hero{min-height:620px}.hero-grid{min-height:620px}}
    @media(max-width:700px){.header-inner{min-height:72px}.brand img{width:116px}.header-action{padding:10px 13px;font-size:.83rem}.hero{min-height:auto}.hero-grid{display:block}.hero-copy{padding:69px 0 34px}.hero-copy h1{font-size:clamp(4.15rem,16vw,7rem)}.hero-copy p{margin:23px 0 28px}.hero-visual{width:calc(100% - 18px);height:420px;margin:0 0 20px auto}.vertical-caption{left:-27px}.quick-inner{grid-template-columns:1fr;gap:0}.quick-item{border-right:0;border-bottom:1px solid var(--line);padding:15px 0}.quick-item:last-child{border-bottom:0}.locations,.services,.pricing{padding-block:70px}.location-grid,.price-grid{grid-template-columns:1fr}.location-card{min-height:290px;padding:29px}.section-title{font-size:clamp(2.8rem,12vw,4.7rem)}.service-row{grid-template-columns:38px 1fr;gap:3px 12px}.service-row p{grid-column:2}.closing-inner{display:block;padding-block:62px}.closing a{margin-top:26px}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:28px}.footer-bottom span{display:block;margin-bottom:8px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
  
/* Local migration refinements: keyboard access, readable booking buttons. */
:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:20;background:var(--white);color:var(--ink);padding:12px 18px}.skip-link:focus{top:12px}
.location-card a{color:#17110d;padding:13px 17px;border:0}
.location-card a:hover{color:#17110d}
@media(max-width:700px){.header-inner{align-items:flex-start;flex-direction:column;gap:10px;padding-block:12px}.header-booking{width:100%;display:grid;grid-template-columns:1fr 1fr}.header-booking a{min-height:44px;display:grid;place-items:center;text-align:center;white-space:normal}.hero-visual{height:420px}}

/* Ambient brand details remain behind content and never intercept input. */
.hero{isolation:isolate}
.hero-grid{z-index:1}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ambient-glow{position:absolute;width:70%;height:100%;left:-22%;top:-22%;border-radius:50%;background:radial-gradient(ellipse,#ff751f20,transparent 67%);animation:ambient-drift 18s ease-in-out infinite alternate}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(#e5ded116 .7px,transparent .7px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.moustache-detail{position:absolute;object-fit:contain;opacity:.085;animation:detail-float 14s ease-in-out infinite}
.detail-one{width:clamp(210px,32vw,470px);top:8%;right:8%;transform:rotate(-14deg)}
.detail-two{width:clamp(140px,22vw,300px);bottom:5%;left:22%;animation-delay:-7s;opacity:.055}
.section-emblem{width:76px;height:auto;margin-bottom:22px;animation:detail-float 12s ease-in-out infinite}
.plans{position:relative;isolation:isolate;overflow:hidden}
.plans-inner{position:relative;z-index:1}
.plans-emblem{position:absolute;width:clamp(260px,44vw,600px);height:auto;right:4%;top:10%;opacity:.065;pointer-events:none;animation:detail-float 16s ease-in-out infinite reverse}
@keyframes ambient-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(30%,18%) scale(1.12)}}
@keyframes detail-float{0%,100%{translate:-8px 4px;rotate:-3deg}50%{translate:10px -12px;rotate:3deg}}
/* JavaScript opts in only after the observer is ready; content stays visible otherwise. */
.reveal{opacity:1;transform:none;transition:opacity .85s ease,transform .85s cubic-bezier(.22,.68,.26,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-pending{opacity:0;transform:translateY(26px)}
.reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
@media(max-width:700px){.detail-one{right:-12%;top:2%}.detail-two{left:-8%;bottom:4%}.plans-emblem{right:-20%;top:40%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}.reveal,.reveal.is-pending{opacity:1;transform:none;transition:none!important}}

/* Shared action states, including both booking locations and subscription CTAs. */
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  background:var(--orange);color:#10100f;border:1px solid var(--orange);
  min-height:46px;font-weight:700;filter:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
.action-button .arrow{display:inline-block;color:#10100f;font-size:1.2em;line-height:1;margin:0;flex:none;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button:is(:hover,:focus-visible){
  background:#fff;color:var(--orange);border-color:#fff;
  transform:translateY(-4px);box-shadow:0 9px 24px #0003;filter:none;
}
.action-button:is(:hover,:focus-visible) .arrow{color:#10100f;transform:translate(3px,-3px)}
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button:active{
  background:#fff;color:var(--orange);border-color:#fff;transform:translateY(-1px) scale(.97);box-shadow:0 3px 10px #0002;
}
@media(prefers-reduced-motion:reduce){
  :is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button:is(:hover,:focus-visible,:active),.action-button:is(:hover,:focus-visible) .arrow{transform:none}
}
.footer-credit{color:var(--white);text-decoration:underline;text-underline-offset:4px;transition:color .2s ease}
.footer-credit:hover,.footer-credit:focus-visible{color:var(--orange)}

/* Vintage line art: an isolated background layer beneath opaque price cards. */
.pricing{position:relative;isolation:isolate;overflow:hidden}
.pricing > :not(.pricing-decor){position:relative;z-index:1}
.pricing-decor{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.vintage-tool{position:absolute;width:clamp(110px,15vw,200px);height:auto;opacity:.24;animation:vintage-float 16s ease-in-out infinite;transform-origin:center;pointer-events:none}
.vintage-scissors{top:1%;right:4%;rotate:22deg;animation-delay:-3s}
.vintage-razor{top:29%;left:-4%;rotate:-28deg;animation-duration:20s;animation-delay:-8s}
.vintage-clipper{top:62%;right:6%;rotate:18deg;animation-duration:19s;animation-delay:-5s}
.vintage-longneck{bottom:4%;right:24%;rotate:-17deg;animation-delay:-11s}
.vintage-whisky{top:48%;right:1%;rotate:12deg;animation-duration:22s;animation-delay:-9s}
.vintage-moustache{top:55%;left:8%;width:clamp(130px,19vw,240px);rotate:-12deg;animation-duration:18s;animation-delay:-6s}
.pricing .price-card{background:#1c1b19;opacity:1;backdrop-filter:none}
.pricing .price-card.featured{background:#252019}
@keyframes vintage-float{0%,100%{transform:translate3d(-5px,6px,0) rotate(-3deg)}50%{transform:translate3d(7px,-10px,0) rotate(3deg)}}
@media(max-width:700px){
  .vintage-tool{width:125px;opacity:.19}
  .vintage-scissors{top:1%;right:-2%}
  .vintage-razor{left:-9%;top:23%}
  .vintage-whisky{right:-5%;top:52%}
  .vintage-moustache{top:61%;left:-6%;width:155px}
  .vintage-clipper{top:75%;right:-9%}
  .vintage-longneck{bottom:1%;right:7%}
}
@media(prefers-reduced-motion:reduce){.vintage-tool{animation:none}}

/* Jaguariúna has its own booking treatment everywhere it appears. */
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button.booking-jaguariuna{
  background:#10100f;color:var(--orange);border-color:#ff751f99;
  box-shadow:inset 0 1px 0 #ffffff12,0 3px 0 #623015,0 5px 16px #ff751f16;
}
.action-button.booking-jaguariuna .arrow{color:#fff}
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button.booking-jaguariuna:is(:hover,:focus-visible){
  background:var(--orange);color:#fff;border-color:var(--orange);
  box-shadow:inset 0 1px 0 #ffffff25,0 4px 0 #a44812,0 10px 24px #ff751f2b;
}
.action-button.booking-jaguariuna:is(:hover,:focus-visible,:active) .arrow{color:#fff}
:is(.header-booking,.hero-cta,.unit-heading,.plans-action,.closing,.course-contact) a.action-button.booking-jaguariuna:active{
  background:var(--orange);color:#fff;border-color:var(--orange);
  box-shadow:inset 0 1px 0 #ffffff18,0 1px 0 #a44812,0 3px 10px #ff751f20;
}

/* Full-width closing statement and understated creator credit. */
.closing-inner{display:block}
.closing-inner > div{width:100%}
.closing h2{max-width:none;width:100%;font-size:clamp(1.8rem,4.15vw,3.55rem);line-height:1.12}
.footer-credit{color:#969189;text-decoration:none}
.footer-credit:hover,.footer-credit:focus-visible{color:#bdb8ae;text-decoration:underline}
@media(max-width:700px){.closing h2{font-size:clamp(2rem,7.5vw,3rem);line-height:1.08}}

/* Align footer navigation with the logo's vertical midpoint. */
.footer-top{align-items:center}

/* A tighter transition from services to locations and pricing. */
.services{padding-bottom:48px}
.pricing{padding-top:54px}
@media(max-width:700px){.services{padding-bottom:32px}.pricing{padding-top:38px}}

/* Give the header logo breathing room above and below. */
.header-inner{padding-block:14px}
.brand img{width:128px;height:auto}
@media(max-width:700px){.header-inner{padding-block:14px;gap:14px}.brand img{width:106px;height:auto}}

/* Hero slideshow: one second crossfade, four seconds of still viewing. */
.hero-visual::after{content:none}
.hero-slides{position:absolute;inset:0;overflow:hidden;background:var(--ink)}
.hero-visual .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}
.hero-visual .hero-slide.is-current{opacity:1}

.slideshow-controls{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;gap:8px}
.slideshow-controls[hidden]{display:none}
.slideshow-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ff751f99;background:#10100fe8;color:var(--orange);font-size:1.3rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.slideshow-controls button:hover{background:var(--orange);color:#10100f;transform:translateY(-2px)}
.slideshow-controls button:active{transform:scale(.94)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-slide{transition:none}.slideshow-controls button:hover,.slideshow-controls button:active{transform:none}}

/* Framed photos, slow zoom, and a permanent link to the original profile. */
.hero-slides{border:1px solid var(--orange);box-shadow:0 4px 0 #623015,0 8px 24px #ff751f1c}
.hero-slides::after{content:'';position:absolute;inset:7px;border:1px solid #ff751f70;z-index:1;pointer-events:none}
.hero-visual .hero-slide{transform:scale(1.075)}
.hero-visual .hero-slide.is-current{animation:slide-zoom 5s linear both}
@keyframes slide-zoom{from{transform:scale(1)}to{transform:scale(1.075)}}
.slide-instagram{position:absolute;bottom:0;right:0;z-index:3;display:inline-flex;align-items:center;gap:10px;min-height:44px;background:var(--orange);color:#10100f;border:1px solid var(--orange);padding:12px 17px;font:.9rem 'Oswald',sans-serif;letter-spacing:.04em;box-shadow:inset 0 1px 0 #ffffff25;transition:background .25s,color .25s}
.slide-instagram span{color:#10100f;transition:transform .25s}
.slide-instagram:hover,.slide-instagram:focus-visible{background:#fff;color:var(--orange)}
.slide-instagram:hover span{transform:translate(2px,-2px)}
@media(max-width:380px){.slide-instagram{padding-inline:10px;font-size:.8rem}.slideshow-controls{left:8px;gap:5px}}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-slide,.hero-visual .hero-slide.is-current{animation:none;transform:none}.slide-instagram:hover span{transform:none}}

/* Course page shares the site's navigation, footer and orange/ink palette. */
.course-section{padding-block:70px 90px}
.course-intro{max-width:1000px;margin-bottom:48px}
.course-intro h1{font-size:clamp(3rem,6.8vw,6.3rem);max-width:none;margin:18px 0 24px}
.course-intro > p{max-width:660px;color:var(--muted);font-size:1.1rem}
.course-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,70px);align-items:start}
.course-poster{margin:0}
.course-poster img{width:100%;height:auto;border:1px solid var(--orange);box-shadow:0 5px 0 #623015,0 12px 30px #ff751f16}
.course-poster figcaption{margin-top:20px;color:var(--muted);font-size:.85rem}
.course-poster a:hover{color:var(--orange)}
.course-copy h2{font-size:clamp(2.3rem,4vw,4rem);margin:16px 0 24px;line-height:1.05}
.course-copy > p{color:var(--muted)}
.course-price{margin-top:30px;border-block:1px solid var(--line);padding:22px 0}
.course-price > span{color:var(--muted);font-size:.9rem}
.course-price p{display:flex;align-items:baseline;gap:20px;margin:8px 0}
.course-price del{color:var(--muted);font-size:1.2rem}
.course-price strong{font:500 clamp(3rem,5vw,4.5rem) 'Oswald';color:var(--orange)}
.course-note{font-size:.85rem;color:var(--muted)}
.course-contact{margin-top:30px}
.course-whatsapp{background:var(--orange);color:var(--ink);border:1px solid var(--orange);padding:16px 22px;font-weight:700;display:inline-flex;gap:16px;align-items:center;justify-content:center;max-width:100%}
.course-whatsapp:disabled{cursor:not-allowed;opacity:.65}
.footer-links a[aria-current="page"]{color:var(--orange)}
@media(max-width:700px){.course-section{padding-block:48px 60px}.course-grid{grid-template-columns:1fr}.course-intro{margin-bottom:30px}}
