
/* Wind Surf School — ocean, motion and a flash of red. */
:root{--ink:#071c26;--navy:#092b38;--red:#ef4438;--paper:#f4f6f5;--muted:#596970;--line:#d5dfe1;--aqua:#84e3df;--gutter:clamp(22px,5vw,88px);--header:88px;--display:Impact,Haettenschweiler,'Arial Narrow','Arial Black',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}img{display:block;max-width:100%}button{border:0}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}::selection{background:var(--red);color:#fff}:focus-visible{outline:3px solid var(--red);outline-offset:5px}p{margin:0 0 1.3em}h1,h2,h3{margin:0;line-height:1.05}h2{font-family:var(--display);font-size:clamp(2.7rem,5.5vw,6rem);font-weight:900;letter-spacing:-.025em}h3{font-size:1.8rem;letter-spacing:-.035em}summary{list-style:none}summary::-webkit-details-marker{display:none}main{overflow:clip}.section{padding:112px var(--gutter)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:52px}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.14em;margin-bottom:24px;color:var(--red)}.lead{font-size:1.3rem;line-height:1.55}.small-note{font-size:.875rem;line-height:1.5;margin:20px 0 0;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--red);color:white;padding:18px 25px;font-weight:750;letter-spacing:.025em;font-size:.875rem;line-height:1.4;min-height:56px;transition:background .25s,transform .25s;position:relative}.button>span:last-child:not(:first-child){font-size:1.4rem;line-height:1}.button:hover{background:#cd3027;transform:translateY(-3px)}.button.small{min-height:44px;padding:12px 18px;gap:16px}.button.outline{border:1px solid var(--ink);color:var(--ink);background:transparent}.button.outline:hover{background:var(--ink);color:#fff}.button.light-button{background:white;color:var(--ink)}.button.light-button:hover{background:var(--aqua)}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:.875rem;font-weight:750;line-height:1.5;padding:8px 0;border-bottom:2px solid var(--red)}.text-link>span:last-child:not(:first-child){font-size:1.2rem}.text-link:hover{color:var(--red)}.skip{position:fixed;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}
/* Header */
.header{height:var(--header);padding:0 2.5vw;display:flex;gap:24px;align-items:center;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #e7ecee}.brand{display:flex;gap:9px;align-items:center;flex-shrink:0;font-size:1rem;line-height:1.02;font-weight:900;letter-spacing:-.06em}.brand img{width:38px;height:62px;object-fit:contain}.brand b{color:var(--red)}.brand small{display:block;font-weight:500;font-size:.67rem;letter-spacing:.27em;margin-top:5px}.header nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.6vw,28px);margin-left:auto;font-size:.875rem;font-weight:650}.nav-link,.nav-dropdown summary{position:relative;padding:14px 0;white-space:nowrap}.nav-link:after{content:'';position:absolute;bottom:7px;left:0;width:0;height:2px;background:var(--red);transition:width .2s}.nav-link:hover:after{width:100%}.nav-dropdown{position:relative}.nav-dropdown summary{display:flex;gap:8px;align-items:center}.nav-dropdown>div{position:absolute;left:-20px;top:calc(100% + 10px);min-width:230px;padding:15px 20px;background:var(--ink);color:white;box-shadow:0 10px 28px #0002}.nav-dropdown>div a{display:block;padding:10px 0}.header-actions{display:flex;align-items:center;gap:18px}.languages{display:flex;align-items:center;gap:4px;flex-shrink:0}.languages button{display:flex;gap:5px;align-items:center;background:transparent;padding:8px 6px;font-size:.75rem;font-weight:bold;opacity:.55;min-height:42px;border-bottom:2px solid transparent}.languages img{width:21px;height:14px;object-fit:cover}.languages button.active{opacity:1;border-color:var(--red)}.languages button:hover{opacity:1}.menu-toggle{display:none;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .2s}
/* The hero is a pinned, scroll-controlled ocean scene. */
.hero-track{height:175svh;position:relative;background:var(--navy)}.hero-stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:620px;overflow:hidden;isolation:isolate;color:#fff}.hero-bg{position:absolute;inset:-5%;background:url("assets/hero-porto-rafti-hd.webp") center 60%/cover no-repeat;transform:scale(1.07);will-change:transform;z-index:-4}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,36,.8),rgba(3,29,39,.28) 55%,rgba(1,21,33,.08)),linear-gradient(0deg,rgba(2,25,36,.92),transparent 38%,rgba(3,27,37,.13));z-index:-3}.hero-grid{position:absolute;top:0;bottom:0;left:var(--gutter);right:var(--gutter);border-left:1px solid #ffffff15;border-right:1px solid #ffffff15;pointer-events:none;z-index:-2}.hero-location{position:absolute;top:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:.75rem;font-weight:650;letter-spacing:.14em}.hero-location>span:last-child{color:#dcebee}.hero-title{position:relative;z-index:3;padding:clamp(120px,18svh,190px) var(--gutter) 0;pointer-events:none;width:100%}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:bold;letter-spacing:.15em;margin-bottom:24px}.hero-kicker i{height:7px;width:30px;background:var(--red);display:block;transform:skewX(-20deg)}.hero-title h1{font-family:var(--display);font-size:clamp(5rem,11.2vw,12rem);font-style:italic;letter-spacing:-.035em;line-height:.92;font-weight:900;max-width:75%;margin-left:-.035em}.hero-title h1>span{display:block;width:max-content;max-width:100%;will-change:transform}.title-bottom{color:transparent;-webkit-text-stroke:2px white}.hero-subline{display:flex;align-items:center;gap:45px;margin-top:34px;max-width:640px}.hero-subline p{margin:0;font-size:1rem;line-height:1.6}.hero-button{pointer-events:auto;flex-shrink:0}.hero-bottom{position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.1em}.scroll-instruction{display:flex;align-items:center;gap:14px}.scroll-line{width:45px;height:1px;background:#fff8;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;left:0;top:0;width:20px;height:1px;background:white;animation:scroll-line 1.8s ease-in-out infinite}.motion-toggle{display:flex;align-items:center;gap:12px;padding:9px 0;background:transparent;color:white;font-size:.75rem;letter-spacing:.02em}.hero-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:7}.sports-ticker{background:var(--red);color:white;overflow:hidden;padding:16px 0;transform:rotate(-1deg);width:101%;margin-left:-.5%;position:relative;z-index:6;margin-top:-10px}.sports-ticker>div{display:flex;width:max-content;align-items:center;gap:36px;animation:ticker 40s linear infinite}.sports-ticker span{font-family:var(--display);font-style:italic;font-size:2rem;line-height:1;letter-spacing:.025em}.sports-ticker i{font-size:24px;font-style:normal}.motion-paused *{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes scroll-line{0%{transform:translateX(-25px)}100%{transform:translateX(70px)}}
/* Editorial story and activities */
.school{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:145px}.school-image{position:relative;padding:0 22px 22px 0}.school-image:after{content:'';position:absolute;inset:30px 0 0 30px;border:1px solid var(--red);z-index:-1}.school-image img{aspect-ratio:4/5;object-fit:cover}.photo-stamp{position:absolute;bottom:55px;left:-18px;background:var(--red);color:#fff;padding:18px 25px;transform:rotate(-6deg);font-family:var(--display);font-size:1.8rem;line-height:1.05}.school-copy h2{font-size:clamp(2.7rem,4.8vw,5rem);margin-bottom:30px}.school-copy>p:not(.eyebrow){max-width:620px}.school-copy>p:not(.lead):not(.eyebrow){color:var(--muted)}.activities{background:var(--ink);color:#fff}.activities .eyebrow{color:var(--aqua)}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.activity-card{position:relative;overflow:hidden;min-height:470px;aspect-ratio:.78;background:var(--navy);isolation:isolate}.activity-card>img{height:100%;width:100%;object-fit:cover;position:absolute;z-index:-2;transition:transform .65s}.activity-card:nth-child(2)>img{object-position:60% center}.activity-card:nth-child(3)>img{object-position:70% center}.activity-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#001722e8,transparent 75%)}.activity-number{position:absolute;top:20px;left:25px;font-size:.875rem;border:1px solid #fff9;padding:5px 12px}.activity-card>div{position:absolute;bottom:35px;left:30px;right:30px}.activity-card h3{font-size:clamp(1.7rem,2.8vw,3rem);margin-bottom:10px;font-family:var(--display);font-weight:800}.activity-card p{max-width:80%;font-size:1rem;margin-bottom:20px;line-height:1.5}.round-arrow{width:46px;height:46px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;transition:background .3s,border-color .3s}.activity-card:hover img{transform:scale(1.06)}.activity-card:hover .round-arrow{background:var(--red);border-color:var(--red)}
/* Courses */
.lesson-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.lesson-image{position:relative;overflow:hidden;min-height:600px}.lesson-image>img{width:100%;height:100%;position:absolute;object-fit:cover}.lesson-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#001b29bb,transparent 70%)}.lesson-image>div{position:absolute;z-index:1;bottom:35px;left:35px;right:35px;font-family:var(--display);color:white;font-size:clamp(2rem,3.4vw,4rem);font-style:italic;line-height:1}.lesson-list details{border-top:1px solid #b8c7cb}.lesson-list details:last-child{border-bottom:1px solid #b8c7cb}.lesson-list summary{display:flex;align-items:center;gap:25px;padding:26px 0}.lesson-no{color:var(--red);font-size:.8rem;align-self:flex-start;margin-top:4px}.lesson-list h3{font-size:1.9rem;margin-bottom:8px}.lesson-list small{font-size:.875rem;color:var(--muted)}.detail-mark{margin-left:auto;font-size:1.8rem;font-weight:300;color:var(--red);transition:transform .3s}.lesson-list details[open] .detail-mark{transform:rotate(45deg)}.detail-body{padding:0 20px 30px 44px}.detail-body p{color:var(--muted)}.extra-lessons{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:70px}.extra-lessons article{border-top:4px solid var(--red);padding-top:32px;scroll-margin-top:110px}.extra-lessons h3{font-family:var(--display);font-size:clamp(2.2rem,3.5vw,3.8rem);margin-bottom:28px}.extra-lessons summary{display:flex;justify-content:space-between;gap:15px;font-weight:700;padding:16px 0;border-top:1px solid var(--line)}.extra-lessons details p{padding-top:15px;color:var(--muted)}.extra-lessons .text-link{margin-top:12px}.extra-lessons ul{padding-left:20px;color:var(--muted)}.athletes{margin-top:65px;background:#e6eeed;padding:25px 32px}.athletes>summary{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:1.15rem;font-weight:700}.athletes>summary>span:last-child{font-size:.875rem;color:#425a63}.athlete-content{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:30px}.athlete-content h3{font-size:1.3rem;margin-bottom:20px}.athlete-content p{color:var(--muted)}
/* Photography, social and video */
.photos{background:#e7eeee}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery>a{position:relative;display:block;aspect-ratio:1.3;overflow:hidden;background:#b4c9cd}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery>a:hover img{transform:scale(1.065)}.gallery>a>span{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;background:white;font-size:1.5rem;transition:background .3s}.gallery>a:hover>span{background:var(--red);color:white}.gallery-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.gallery-actions>span{font-size:.875rem}.instagram{background:var(--navy);color:white}.instagram .eyebrow{color:var(--aqua)}.instagram-handle{display:inline-block;margin-top:20px;color:var(--aqua);font-size:1.1rem}.social-intro{max-width:410px}.social-intro .small-note{color:#b1c6cb}.instagram-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.instagram-post{min-width:0;background:white;overflow:hidden}.instagram-post iframe{width:100%;border:0;height:520px;background:white;display:block}.instagram-post>a{display:block;padding:12px;color:var(--ink);font-size:.875rem;background:white;text-align:center;text-decoration:underline}#instagram-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.button.outline.light{color:white;border-color:#fff7}.button.outline.light:hover{background:#fff;color:var(--ink)}.video-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,190px);gap:16px}.video-card{position:relative;overflow:hidden;background:var(--navy);color:white;text-align:left;isolation:isolate;padding:20px}.video-card.featured{grid-row:span 2}.video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}.video-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#001b29cc,#001b2910);z-index:-1}.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;background:var(--red);border-radius:50%;padding-left:3px;transition:transform .3s}.featured .play-icon{width:72px;height:72px;font-size:1.3rem}.video-label{position:absolute;left:20px;right:20px;bottom:17px;font-size:.875rem;font-weight:700}.featured .video-label{font-size:1.25rem;bottom:25px;left:25px}.video-card:hover img{transform:scale(1.04)}.video-card:hover .play-icon{transform:translate(-50%,-50%) scale(1.1)}
/* Archive */
.news{padding-top:45px}.news-search{font-size:.875rem;display:block;min-width:260px}.news-search input{display:block;border:0;border-bottom:1px solid var(--ink);padding:15px 0;background:transparent;font-size:1rem;border-radius:0;width:100%;margin-top:5px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.news-card{border-bottom:1px solid var(--line);padding-bottom:30px}.news-card>img{width:100%;height:220px;object-fit:cover}.news-card>div{padding-top:20px}.news-card time{font-size:.75rem;font-weight:bold;letter-spacing:.08em;color:var(--red)}.news-card h3{font-size:1.55rem;line-height:1.2;margin:16px 0}.news-card p{color:var(--muted);font-size:1rem;line-height:1.6}.no-results{display:none;padding:30px 0}.no-results.visible{display:block}
/* Locations and conditions */
.locations{background:var(--ink);color:white}.locations .eyebrow{color:var(--aqua)}.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.location-card{border:1px solid #ffffff36}.location-title{padding:30px;position:relative}.location-title h3{font-size:2rem;margin-bottom:18px;padding-right:40px}.location-title p{font-size:1rem;margin:0;color:#c7d9de;line-height:1.6}.map-shell{height:310px;display:grid;place-items:center;background:radial-gradient(ellipse at 65% 70%,#206776,#103a47 80%);position:relative}.map-shell:before{content:'+';position:absolute;left:25px;top:12px;color:#8ac2c0;font-size:1.5rem}.map-load{border:1px solid #fff9;color:white;background:transparent;padding:15px 20px;display:flex;align-items:center;gap:25px;font-size:.875rem;font-weight:700}.map-load:hover{background:#fff;color:var(--ink)}.map-shell iframe{width:100%;height:100%;border:0;position:relative;z-index:1}.location-bottom{padding:28px 30px}.location-bottom p{color:#c7d9de}.forecast-frame{position:relative;height:420px;background:linear-gradient(125deg,#10394b,#257c89);display:flex;align-items:center;justify-content:center;gap:30px}.forecast-frame>span{position:absolute;bottom:22px;right:25px;font-size:1.5rem;font-weight:800;font-style:italic;color:#fff9}.forecast-frame iframe{width:100%;height:100%;border:0}.weather-links{display:flex;justify-content:flex-end;margin-top:12px}.live-cam{margin-top:65px;background:var(--red);color:white;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:45px}.live-label{font-size:.875rem;font-weight:700;letter-spacing:.1em}.live-cam h3{font-family:var(--display);font-size:clamp(2.4rem,4vw,4.5rem);margin:18px 0}.live-cam p{margin-bottom:0;max-width:440px}.live-cam .button{flex-shrink:0}fieldset{padding:0;border:0;margin:0;min-width:0}legend{font-size:1.6rem;font-weight:750;letter-spacing:-.035em;margin-bottom:24px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center}.contact h2{margin-bottom:36px;font-size:clamp(3rem,4.8vw,5.3rem)}.phone{display:flex;align-items:center;gap:20px;font-size:clamp(1.6rem,2.8vw,2.7rem);font-weight:700;letter-spacing:-.035em;line-height:1.3}.phone>span:last-child{color:var(--red);font-weight:400}.email{display:inline-flex;gap:20px;font-size:clamp(.9rem,1.5vw,1.25rem);margin-top:12px;overflow-wrap:anywhere}.email>span:first-child{overflow-wrap:anywhere}.social-links{display:flex;gap:26px;margin-top:25px;font-weight:700;font-size:.875rem}.social-links a{display:flex;gap:13px;border-bottom:1px solid var(--ink)}.contact-panel{border-left:3px solid var(--red);padding:12px 0 12px 40px}.contact-panel h3{font-size:2rem;margin-bottom:22px}.contact-panel p{color:var(--muted)}.contact-panel .text-link{display:table;margin-top:20px}.recognition{border-top:1px solid var(--line);padding:35px var(--gutter);display:flex;align-items:center;justify-content:center;gap:35px}.recognition>div{font-size:.875rem;font-weight:700;letter-spacing:.08em;margin-right:20px}.recognition img{object-fit:contain;width:auto;height:80px;max-width:150px}.footer{padding:48px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--navy);color:white}.footer-wordmark{font-family:var(--display);font-style:italic;font-size:clamp(2rem,4.8vw,5rem);letter-spacing:-.025em;line-height:1}.footer-wordmark span{color:var(--red)}.footer>div{font-size:.75rem;letter-spacing:.08em}.footer p{font-size:.875rem;letter-spacing:0;margin:6px 0 0;color:#b3c8cd}.back-top{font-size:.75rem;letter-spacing:.06em}
/* Lightboxes & embedded existing services */
dialog{border:0;padding:0;background:var(--ink);color:white;width:min(94vw,1100px);max-width:none;max-height:94svh;margin:auto;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#001018e8;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;font-size:.875rem}.dialog-top button{width:42px;height:42px;display:grid;place-items:center;background:transparent;color:white;font-size:1.5rem}.dialog-top button:hover{background:var(--red)}.dialog-top h2{font-family:Arial,Helvetica,sans-serif;font-size:1.3rem;letter-spacing:0}.dialog-controls{display:flex;gap:40px;justify-content:center;align-items:center;padding:10px}.dialog-controls button{background:transparent;color:white;font-size:1.8rem;width:60px;height:48px}.dialog-controls button:hover{color:var(--red)}#large-photo{height:calc(90svh - 135px);width:100%;object-fit:contain}#video-content{aspect-ratio:16/9}#video-content iframe{width:100%;height:100%;border:0}.noscript-note{padding:25px;background:white;border-top:3px solid var(--red);color:var(--ink)}
/* Progressive enhancement: content stays visible if scripts are unavailable. */
.reveal-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.reveal-ready .reveal.visible{opacity:1;transform:none}
html[lang=el] h2{font-family:'Arial Black',Arial,sans-serif;font-size:clamp(2.3rem,4.4vw,4.8rem);letter-spacing:-.04em;line-height:1.06}html[lang=el] .hero-title h1{font-family:'Arial Black',Arial,sans-serif;font-size:clamp(3.5rem,7.3vw,8rem);line-height:1.03;max-width:80%}html[lang=el] .hero-kicker{letter-spacing:.04em}html[lang=el] .hero-title{padding-top:clamp(135px,20svh,200px)}html[lang=el] .lesson-image>div{font-family:'Arial Black',Arial,sans-serif;font-size:clamp(1.8rem,2.7vw,3rem)}html[lang=el] .extra-lessons h3{font-family:'Arial Black',Arial,sans-serif;font-size:2.3rem}
@media(min-width:1650px){.hero-title h1{font-size:12.5rem}.hero-title{padding-top:19svh}}
@media(max-width:1250px){.header-book{display:none}.header{gap:18px}.header nav{gap:19px}.header-actions{gap:10px}.hero-subline{max-width:580px;gap:25px}.hero-subline p{max-width:260px}.activity-card{min-height:420px}}
@media(max-width:1120px){:root{--header:76px}.header{padding:0 24px}.header nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100svh - var(--header));overflow:auto;align-items:stretch;gap:0;background:white;padding:22px 26px 32px;border-top:1px solid var(--line);box-shadow:0 20px 30px #00172220}.header nav.open{display:flex;flex-direction:column}.header nav>.nav-link,.header nav .nav-dropdown summary{padding:12px 0;font-size:1rem}.nav-dropdown>div{position:static;box-shadow:none;margin-bottom:12px;background:var(--paper);color:var(--ink)}.header-actions{margin-left:auto;gap:12px}.header-book{display:inline-flex}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.brand img{height:53px;width:32px}.section{padding:85px var(--gutter)}.hero-stage{min-height:620px}.hero-title h1{font-size:12vw;max-width:100%}.hero-title{padding-top:145px}.hero-subline{display:block;max-width:40%;margin-top:28px}.hero-button{margin-top:20px}.year-round{display:none}.school{gap:40px}.school-image img{aspect-ratio:3/5}.school-copy h2{font-size:3rem}.school-copy p{font-size:1rem}.activity-grid{gap:12px}.activity-card{min-height:350px}.activity-card>div{left:20px;right:20px;bottom:25px}.activity-card p{max-width:100%;font-size:.9rem}.activity-card h3{font-size:2rem}.lesson-layout{gap:35px}.lesson-list h3{font-size:1.6rem}.lesson-list summary{gap:16px}.detail-body{padding-left:30px}.lesson-image{min-height:560px}.instagram .section-head{align-items:flex-start}.social-intro{max-width:330px}.instagram-posts{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-post:last-child:nth-child(odd){grid-column:1/-1;max-width:450px;width:100%;justify-self:center}.video-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px}.video-card.featured{grid-column:span 2;grid-row:auto}.news-grid{gap:22px}.news-card>img{height:180px}.news-card h3{font-size:1.35rem}.weather .section-head{align-items:flex-start;flex-direction:column}.live-cam{padding:35px;gap:30px}.contact{gap:35px}.contact-panel{padding-left:25px}.recognition>div{max-width:220px}.footer{flex-wrap:wrap}html[lang=el] .hero-title h1{font-size:8.1vw}html[lang=el] .hero-title{padding-top:150px}}
@media(max-width:700px){:root{--header:72px;--gutter:22px}.header{padding:0 18px}.header-book{display:none}.brand{font-size:.9rem}.brand img{width:28px;height:48px}.brand small{font-size:.6rem}.header-actions{gap:6px}.languages button{padding:6px 5px}.languages img{width:20px}.section{padding:70px var(--gutter)}h2{font-size:clamp(2.8rem,10vw,4rem)}.section-head{margin-bottom:32px;gap:28px;align-items:stretch;flex-direction:column}.eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:20px}.button{padding:16px 20px;gap:20px}.hero-track{height:150svh}.hero-stage{height:calc(100svh - var(--header));min-height:670px}.hero-location{top:22px;font-size:.65rem;letter-spacing:.06em}.hero-location>span:last-child{display:none}.hero-title{padding-top:86px}.hero-kicker{font-size:.65rem;letter-spacing:.08em;gap:8px;margin-bottom:18px}.hero-kicker i{width:20px;height:5px}.hero-title h1{font-size:clamp(4.1rem,16.5vw,7rem);max-width:100%;line-height:.93}.title-bottom{-webkit-text-stroke:1.3px white}.hero-subline{max-width:70%;margin-top:23px}.hero-subline p{font-size:.875rem;line-height:1.5;max-width:280px}.hero-button{font-size:.75rem;min-height:48px;padding:14px 17px;margin-top:20px}.hero-shade{background:linear-gradient(110deg,#001e32b8,#003e5133 70%),linear-gradient(0deg,#001c30e6,transparent 55%)}.hero-bg{background-position:57% center}.hero-bottom{bottom:18px;gap:12px;font-size:.6rem;letter-spacing:.04em}.scroll-instruction{gap:7px}.scroll-line{width:22px}.motion-toggle{font-size:.65rem;gap:6px}.sports-ticker{padding:14px 0}.sports-ticker span{font-size:1.6rem}.sports-ticker>div{gap:25px}.school{display:flex;flex-direction:column-reverse;gap:40px;padding-top:80px}.school-copy h2{font-size:3.2rem}.school-image{width:100%;padding:0 15px 15px 0}.school-image img{aspect-ratio:1.15}.photo-stamp{left:-7px;bottom:30px;padding:14px 18px;font-size:1.5rem}.activity-grid{grid-template-columns:1fr;gap:20px}.activity-card{aspect-ratio:1;min-height:340px}.activity-card>img{object-position:center 45%}.activity-card:nth-child(3)>img{object-position:75% center}.activity-card>div{left:25px;bottom:28px}.activity-card h3{font-size:2.5rem}.activity-card p{font-size:1rem}.round-arrow{position:absolute;right:0;bottom:0}.lesson-layout{grid-template-columns:1fr;gap:32px}.lesson-image{min-height:370px;aspect-ratio:1.1}.lesson-image>div{left:25px;bottom:25px;font-size:2.3rem}.lesson-list h3{font-size:1.65rem}.lesson-list summary{padding:22px 0}.extra-lessons{grid-template-columns:1fr;gap:38px;margin-top:42px}.extra-lessons h3{font-size:2.5rem}.athletes{margin-top:42px;padding:22px}.athletes>summary{display:block;font-size:1.1rem}.athletes>summary>span:last-child{display:block;margin-top:10px}.athlete-content{grid-template-columns:1fr;gap:20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery>a{aspect-ratio:.95}.gallery>a:first-child{grid-column:span 2;aspect-ratio:1.5}.gallery>a>span{width:30px;height:30px;bottom:9px;right:9px;font-size:1.25rem}.gallery-actions{gap:12px}.gallery-actions .button{font-size:.75rem;padding:15px 17px}.social-intro{max-width:100%}.instagram .section-head{align-items:stretch}.instagram-posts{grid-template-columns:1fr}.instagram-post:last-child:nth-child(odd){max-width:none}.instagram-post iframe{height:550px}#instagram-footer{align-items:flex-start;flex-direction:column}.video-grid{grid-template-rows:250px 160px 160px;gap:10px}.video-card{padding:14px}.video-label{font-size:.75rem;left:14px;right:14px;bottom:12px}.play-icon{width:42px;height:42px}.featured .play-icon{width:60px;height:60px}.news-grid{grid-template-columns:1fr;gap:35px}.news-card>img{height:240px}.news-card h3{font-size:1.6rem}.news-card p{font-size:1rem}.news-search{min-width:0}.locations-grid{grid-template-columns:1fr;gap:28px}.location-title,.location-bottom{padding:25px}.location-title h3{font-size:1.9rem}.map-shell{height:280px}.forecast-frame{height:380px}.live-cam{margin-top:40px;flex-direction:column;align-items:flex-start;padding:28px;gap:25px}.live-cam h3{font-size:3rem}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:3.2rem}.phone{font-size:1.9rem}.email{font-size:.95rem;gap:12px}.contact-panel{padding-left:22px}.contact-panel h3{font-size:1.7rem}.recognition{flex-wrap:wrap;gap:22px;padding:30px 22px}.recognition>div{max-width:none;width:100%;text-align:center;margin:0;font-size:.75rem}.recognition img{height:66px;max-width:130px}.footer{padding:35px 22px;align-items:flex-start;gap:25px}.footer-wordmark{font-size:3rem;width:100%}.footer>div{font-size:.65rem}.back-top{font-size:.65rem;max-width:110px}dialog{width:96vw}.dialog-top{padding:8px 14px}.reveal-ready .reveal{transform:translateY(20px)}html[lang=el] h2{font-size:clamp(2.1rem,8vw,3.2rem)}html[lang=el] .hero-title{padding-top:96px}html[lang=el] .hero-title h1{font-size:clamp(2.2rem,8.5vw,3.8rem);max-width:100%;line-height:1.08}html[lang=el] .hero-subline{max-width:78%;margin-top:22px}html[lang=el] .hero-kicker{font-size:.6rem;letter-spacing:0}html[lang=el] .lesson-image>div{font-size:1.8rem}html[lang=el] .extra-lessons h3{font-size:2rem}}
@media(max-width:370px){.brand>span{display:none}.hero-stage{min-height:640px}.hero-title h1{font-size:16vw}.hero-subline{max-width:85%}.hero-bottom{font-size:.55rem}.motion-toggle{font-size:.6rem}.phone{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-track{height:auto}.hero-stage{position:relative;top:0}.reveal-ready .reveal{opacity:1;transform:none}.hero-bg{transform:none}}


/* Keep secondary labels readable on compact screens. */
.hero-location,.hero-kicker,.hero-bottom,.motion-toggle,.footer>div,.back-top,html[lang=el] .hero-kicker{font-size:max(12px,.75rem)}
.languages button{font-size:.875rem}
@media(max-width:700px){.hero-bottom{flex-wrap:wrap;row-gap:0}.hero-kicker{max-width:95%;line-height:1.4}.hero-title{padding-top:92px}.photo-stamp{font-size:1.4rem}}

/* Single-file edition: every widget is available on entry. */
.instagram-posts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-color:var(--red) var(--navy);padding-bottom:18px}
.instagram-post{scroll-snap-align:start;min-width:0}.instagram-post iframe{height:570px}.instagram-post:last-child:nth-child(odd){grid-column:auto;max-width:none;width:100%}
.video-embed{min-width:0;background:var(--ink);color:white;display:flex;flex-direction:column;overflow:hidden}.video-embed.featured{grid-row:span 2}.video-embed iframe{width:100%;border:0;flex:1;min-height:0;background:var(--navy)}.video-embed h3{font:700 .875rem/1.4 Arial,sans-serif;letter-spacing:0;padding:10px 14px 0}.video-fallback{font-size:.75rem;text-decoration:underline;padding:2px 14px 10px;color:var(--aqua)}.gallery-actions{justify-content:flex-end}
@media(max-width:1120px){.instagram-posts{grid-auto-columns:calc((100% - 20px)/2)}.video-embed.featured{grid-column:span 2;grid-row:auto}}
@media(max-width:700px){.instagram-posts{grid-auto-columns:min(88vw,380px)}.instagram-post iframe{height:540px}.video-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;gap:22px}.video-embed.featured{grid-column:auto;grid-row:auto}.video-embed iframe{flex:none;aspect-ratio:16/9;min-height:190px}}


.languages a{display:flex;align-items:center;gap:5px;padding:8px 6px;font-size:.875rem;font-weight:700;opacity:.55;min-height:42px;border-bottom:2px solid transparent}.languages a.active{opacity:1;border-color:var(--red)}.languages a:hover{opacity:1}.hero-title h1{font-size:clamp(4.5rem,10.2vw,11rem)}.hero-title h1 .hero-search-location{font:700 clamp(.875rem,1.25vw,1.2rem)/1.45 Arial,Helvetica,sans-serif;letter-spacing:.015em;font-style:normal;margin-top:14px;color:white;-webkit-text-stroke:0;max-width:100%;width:auto}.hero-subline{margin-top:24px}.extra-lessons h3,html[lang=el] .extra-lessons h3{font-size:clamp(1.8rem,3vw,3.2rem);overflow-wrap:normal}.lesson-faq{background:#e7eeee}.faq-list{max-width:1000px}.faq-list details{border-top:1px solid #b8c7cb}.faq-list details:last-child{border-bottom:1px solid #b8c7cb}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;font-size:1.1rem;font-weight:700;line-height:1.45}.faq-list summary>span:last-child{color:var(--red);font-size:1.6rem}.faq-list details[open] summary>span:last-child{transform:rotate(45deg)}.faq-list p{color:var(--muted);max-width:880px;padding-bottom:18px;line-height:1.7}.faq-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:30px 0 0;font-size:.875rem;font-weight:700}.faq-links a{border-bottom:1px solid var(--red)}.contact-locations{font-size:.875rem;margin-top:18px;color:var(--muted)}.location-card{scroll-margin-top:100px}
@media(max-width:700px){.hero-title h1{font-size:clamp(3.8rem,15.8vw,6.5rem)}.hero-title h1 .hero-search-location{font-size:.875rem;max-width:95%;margin-top:12px}.hero-subline{margin-top:20px}.hero-subline p{max-width:230px}.hero-kicker{max-width:95%}.faq-list summary{font-size:1rem}html[lang=el] .hero-title h1 .hero-search-location{font-size:.8rem}.extra-lessons h3,html[lang=el] .extra-lessons h3{font-size:1.85rem}}

/* Porto Rafti: a single destination and direct contact. */
.locations-grid{grid-template-columns:1fr}.location-card{display:grid;grid-template-columns:1fr 1.2fr}.location-title{grid-column:1}.location-bottom{grid-column:1}.location-card .map-shell{grid-column:2;grid-row:1/3;height:100%;min-height:340px}.forecast-location{margin:0;font-weight:700;color:var(--muted)}.contact{align-items:center}.hero-subline{max-width:680px}.hero-subline p{max-width:360px}
@media(max-width:700px){.location-card{display:flex;flex-direction:column}.location-card .map-shell{min-height:280px;height:280px}.hero-stage{min-height:600px}.hero-subline,html[lang=el] .hero-subline{max-width:100%}.hero-subline p{max-width:330px}}

.hero-bg{background-size:cover;background-position:center center}
@media(max-width:700px){.hero-bg{background-position:60% center}}

/* Source-reviewed photography: intentional crops and uncropped reference artwork. */
.school-image img{aspect-ratio:1811/1181;object-fit:contain;width:100%;height:auto}.school-image{padding:0}.school-image:after{display:none}
.activity-card:nth-child(1)>img{object-position:50% 42%}.activity-card:nth-child(2)>img{object-position:48% center}.activity-card:nth-child(3)>img{object-position:8% center}
.lesson-image>img{object-position:50% 45%}
.gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.gallery>a{grid-column:span 2;aspect-ratio:1.2}.gallery>a:nth-child(-n+2){grid-column:span 3;aspect-ratio:1.5}
.news-card>img{width:100%;height:230px;object-fit:cover}.news-card:nth-child(2)>img{object-fit:contain;background:white;padding:10px}
.instagram-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;overflow:visible;padding:0}.instagram-post .social-photo{display:block;padding:0;background:#061d28}.social-photo img{width:100%;height:400px;object-fit:contain}.social-caption{padding:20px}.social-caption h3{font-size:1.1rem;line-height:1.35;letter-spacing:0;margin-bottom:12px}.instagram-post .social-caption a{padding:0;font-size:.875rem}
@media(max-width:1120px){.social-photo img{height:310px}}
@media(max-width:700px){.school-image img{aspect-ratio:1811/1181}.activity-card:nth-child(3)>img{object-position:0 center}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery>a,.gallery>a:nth-child(-n+2){grid-column:span 1;aspect-ratio:1}.gallery>a:first-child{grid-column:span 2;aspect-ratio:1.5}.instagram-posts{grid-template-columns:1fr}.social-photo img{height:auto;max-height:520px;object-fit:contain}.news-card>img{height:230px}}

.social-caption{color:var(--ink);background:white}.social-caption a{color:var(--ink);text-decoration:underline}

/* Readable practical information and direct links to detailed service pages. */
.first-lesson{background:white}.first-lesson h2{font-size:clamp(2rem,3.4vw,3.8rem);max-width:1000px}.practical-copy{max-width:900px;font-size:1.1rem}.service-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:28px}.school-address{font-style:normal;font-size:.95rem;line-height:1.6;margin:0 0 25px;color:var(--muted)}
