@font-face{font-family:Alegreya;src:url('/eltoro/fonts/Alegreya.ttf') format('truetype');font-display:swap}
:root{--aegean-teal:#173f48;--dusty-blue:#667687;--muted-rose:#ae8190;--terracotta:#d99483;--peach-sand:#e7bc9a;--olive:#858b70;--warm-marble:#f3e9d9;--graphite:#252c2b;--deep-aegean:var(--aegean-teal);--midnight-teal:#12343b;--paper:var(--warm-marble);--white:#fff9f0;--ink:var(--graphite);--green:var(--aegean-teal);--green-dark:var(--midnight-teal);--gold:var(--peach-sand);--line:#cfc6b8;--muted:#4e5551;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;min-width:0;overflow-x:clip}
main{overflow-x:clip}
img{max-width:100%}
a{color:inherit}
::selection{background:var(--peach-sand);color:var(--aegean-teal)}
:focus-visible{outline:3px solid var(--aegean-teal);outline-offset:4px}
.content-width{width:min(100% - 44px,1160px);margin-inline:auto}
.skip-link{position:absolute;z-index:50;top:-100px;left:14px;background:var(--white);padding:12px 18px}.skip-link:focus{top:14px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:Alegreya,Georgia,serif;font-weight:600;letter-spacing:-.025em}
.site-header{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:30;width:max-content;max-width:calc(100vw - 32px)}
.site-header :focus-visible{outline-color:var(--aegean-teal);box-shadow:0 0 0 5px var(--warm-marble)}
/* Raised, tactile CTA inspired by Marcelo Dolza's Uiverse button: https://uiverse.io/marcelodolza/stupid-vampirebat-24 */
.header-actions{display:flex;align-items:center;justify-content:center;transform-origin:center center;animation:cta-rock 6.4s ease-in-out infinite}
.header-cta{position:relative;isolation:isolate;display:block;width:max-content;max-width:100%;padding:0 0 4px;color:var(--aegean-teal);text-decoration:none;font-size:15px;line-height:1;font-weight:750;letter-spacing:.01em;white-space:nowrap;transition:transform .2s ease}
.header-cta:before{content:'';position:absolute;inset:4px 1px 0;border-radius:18px;background:#965f55;box-shadow:0 6px 15px rgba(9,45,54,.27)}
.header-cta-face{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 17px;overflow:hidden;border:1px solid rgba(255,245,225,.6);border-radius:17px;background:linear-gradient(110deg,var(--peach-sand),var(--terracotta));background-size:210% 210%;box-shadow:inset 0 2px 2px rgba(255,255,255,.55),inset 0 -3px 5px rgba(128,69,62,.23);animation:cta-colorflow 7.2s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease}
.header-cta-face:before{content:'';position:absolute;inset:-35% auto -35% -70%;width:42%;background:linear-gradient(105deg,transparent 0%,rgba(255,249,237,.03) 28%,rgba(255,249,237,.32) 50%,rgba(255,249,237,.03) 72%,transparent 100%);transform:skewX(-24deg);animation:cta-sheen 7.2s ease-in-out infinite;pointer-events:none}
.header-cta-label{position:relative;z-index:1}
.header-cta-arrow{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:34px;height:28px;animation:cta-arrow-sway 2.8s ease-in-out infinite}
.header-cta-arrow svg{display:block;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.header-cta:hover .header-cta-face,.header-cta:focus-visible .header-cta-face{transform:translateY(-2px);box-shadow:inset 0 2px 2px rgba(255,255,255,.65),inset 0 -3px 5px rgba(128,69,62,.23),0 5px 12px rgba(9,45,54,.12)}
.header-cta:active .header-cta-face{transform:translateY(4px);box-shadow:inset 0 2px 5px rgba(98,58,54,.22)}
@keyframes cta-rock{0%,100%{transform:rotate(0deg)}25%{transform:rotate(.7deg)}75%{transform:rotate(-.7deg)}}
@keyframes cta-sheen{0%,8%{transform:translateX(0) skewX(-24deg);opacity:0}12%{opacity:1}34%{transform:translateX(452%) skewX(-24deg);opacity:1}40%,100%{transform:translateX(452%) skewX(-24deg);opacity:0}}
@keyframes cta-colorflow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes cta-arrow-sway{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
.hero{background:radial-gradient(ellipse 43% 58% at 85% 78%,rgba(231,188,154,.22) 0%,transparent 78%),linear-gradient(125deg,var(--aegean-teal) 0%,#445f70 32%,var(--dusty-blue) 56%,var(--muted-rose) 79%,var(--peach-sand) 100%);color:var(--warm-marble);overflow:hidden}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:70px;min-height:min(720px,100svh);padding-block:44px 48px}
.hero-copy{max-width:590px;position:relative;z-index:1;text-shadow:0 2px 14px rgba(18,52,59,.18)}
.hero-eyebrow{color:var(--peach-sand);font-size:12px;line-height:1.4;font-weight:800;letter-spacing:.13em}
.hero h1{font-size:clamp(52px,4.4vw,60px);line-height:1.07;text-wrap:balance;max-width:620px;margin-top:14px}
.hero-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.48;max-width:540px;margin-top:23px}
.hero-detail{font-size:17px;line-height:1.52;max-width:540px;margin-top:17px;color:#fff0dc}
.hero-fsrs{font-size:17px;line-height:1.52;max-width:540px;margin-top:17px;color:#fff0dc}
.hero-device{justify-self:center;position:relative;padding:12px 44px 0 35px}
.hero-phone-link{display:block;width:fit-content;text-decoration:none;border-radius:32px;cursor:pointer}
.hero-phone-link:focus-visible{outline:3px solid var(--peach-sand);outline-offset:5px}
.magic-iphone-float{position:relative;z-index:1;transform-origin:50% 55%;animation:phone-float 6.8s ease-in-out infinite}
.magic-iphone{position:relative;isolation:isolate;width:295px;max-width:100%;aspect-ratio:433/882;filter:drop-shadow(0 20px 28px rgba(18,52,59,.3))}
.magic-iphone-screen{position:absolute;inset:2.18% 4.91%;border-radius:14.3% / 6.6%;background:#faf8f2;overflow:hidden}
.magic-iphone-frame{position:absolute;inset:0;display:block;width:100%;height:100%}
.demo-stage{position:absolute;inset:0 auto auto 0;width:300px;height:649px;background:#faf8f2;color:#222823;transform:scale(var(--demo-scale,.89));transform-origin:top left;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.demo-status{height:43px;padding:21px 17px 0;display:flex;justify-content:space-between;font-size:9px;font-weight:700;color:#204a3c}
.demo-nav{height:68px;display:flex;align-items:stretch;justify-content:space-around;gap:2px;padding:5px 8px;border-bottom:1px solid #d7dace}
.demo-nav-item{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:8px;line-height:1.1;text-align:center;color:#222823;white-space:nowrap}
.demo-nav-item span{font-size:19px;line-height:1}
.demo-nav-active{background:#204a3c;color:#fff;border-radius:2px}
.demo-tabs{height:55px;padding:7px 10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;border-bottom:1px solid #d7dace;text-align:center}
.demo-tabs span{display:grid;place-items:center;font-size:10px;line-height:1.1;color:#204a3c}
.demo-tabs .demo-tab-active{background:#204a3c;color:#fff;border-radius:2px}
.demo-scenes{position:relative;height:calc(100% - 166px);overflow:hidden}
.demo-scene{position:absolute;inset:0;padding:13px 12px;background:#faf8f2;opacity:0;transform:translateX(11px);transition:opacity .38s ease,transform .38s ease;pointer-events:none}
.demo-scene.is-active{opacity:1;transform:none}
.demo-feedback{display:none;min-height:115px;padding:11px 12px;margin-bottom:12px;background:#e5ece5;border:1px solid #b9cabe;border-radius:2px;color:#204a3c}
.demo-feedback strong{display:block;font-size:14px;margin-bottom:7px}
.demo-feedback span{display:block;font:600 25px/1.1 Alegreya,Georgia,serif}
.demo-feedback small{display:block;margin-top:4px;font-size:11px}
.demo-scene.is-success .demo-feedback{display:block}
.demo-progress{display:flex;align-items:center;gap:9px;font-size:10px;color:#545951}
.demo-progress i{display:block;height:5px;flex:1;background:#d7dace}
.demo-progress b{display:block;width:23%;height:100%;background:#204a3c;transition:width .5s ease}
.demo-scene[data-demo-scene="1"] .demo-progress b{width:37%}.demo-scene[data-demo-scene="2"] .demo-progress b{width:51%}.demo-scene[data-demo-scene="3"] .demo-progress b{width:66%}
.demo-instruction{margin:18px 0 12px;font-size:14px;line-height:1.35}
.demo-prompt{font:600 31px/1.1 Alegreya,Georgia,serif;margin:0 0 10px;color:#222823;letter-spacing:0}
.demo-pronunciation{font-size:12px;color:#545951;margin:0 0 17px}
.demo-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:19px}
.demo-options span{min-height:55px;display:flex;align-items:center;padding:7px 9px;border:1px solid #808678;border-radius:2px;font-size:13px;line-height:1.2;color:#204a3c;background:#faf8f2;transition:background .35s,color .35s,border-color .35s}
.demo-options [data-demo-answer].is-picked{background:#204a3c;color:white;border-color:#204a3c}
.demo-greek-options span{font-size:16px}
.demo-dontknow,.demo-check{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 11px;margin-top:15px;border:1px solid #808678;border-radius:2px;color:#204a3c;font-size:12px}
.demo-check{background:#204a3c;border-color:#204a3c;color:white}
.demo-gaps{font:600 30px/1.2 Alegreya,Georgia,serif;margin:20px 0 13px;white-space:nowrap}
.demo-gaps span{display:inline-block;min-width:18px;text-align:center;border-bottom:2px solid #204a3c;color:#204a3c;transition:color .3s}
.demo-input-hint{font-size:12px;color:#545951;margin:18px 0 6px}
.demo-typed{height:53px;border:1px solid #204a3c;border-radius:3px;padding:10px 13px;font:600 25px/1.2 Alegreya,Georgia,serif;white-space:nowrap}
.demo-caret{display:inline-block;width:1px;height:21px;background:#204a3c;vertical-align:middle;animation:demo-caret 1s steps(2,start) infinite}
.demo-keyboard{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:16px;padding-top:9px;border-top:1px solid #d7dace;text-align:center}
.demo-keyboard span{min-height:27px;font-size:17px;color:#204a3c}
.demo-scene[data-demo-scene="3"].is-success .demo-keyboard{display:none}
.demo-invite{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px;background:linear-gradient(155deg,#faf8f2,#e5ece5)}
.demo-invite-greek{font:600 21px Alegreya,Georgia,serif;color:#204a3c}
.demo-invite h3{margin:34px 0 14px;font:600 35px/1.04 Alegreya,Georgia,serif;color:#204a3c}
.demo-invite p{font-size:15px;line-height:1.5;color:#545951}
.demo-invite-cta{display:block;margin-top:30px;padding:11px 14px;background:#204a3c;color:white;border-radius:3px;font-size:12px;font-weight:650}
@keyframes demo-caret{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.demo-scene,.demo-options span,.demo-progress b{transition:none}.demo-caret{animation:none}}
@keyframes phone-float{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}

.cyprus-morning{background:radial-gradient(ellipse at 85% 75%,rgba(217,148,131,.22),transparent 60%),linear-gradient(115deg,#e9d5c2 0%,#f5e9da 32%,#f1d8cf 65%,#e4bdaf 100%);color:var(--graphite)}
.photo-story-inner{width:min(100% - 44px,1320px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(32px,4vw,64px);padding-block:clamp(48px,4.5vw,72px)}
.photo-story-visual{display:block;min-width:0}
.photo-story-visual img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;object-position:70% 50%;border-radius:8px}
.photo-story-copy{max-width:530px}
.photo-story-eyebrow{font-size:12px;line-height:1.4;font-weight:800;letter-spacing:.15em;color:#59644e}
.photo-story-copy h2{max-width:18ch;margin-top:15px;color:var(--aegean-teal);font-size:clamp(40px,3.3vw,46px);line-height:1.12}
.photo-story-copy p:not(.photo-story-eyebrow){max-width:55ch;margin-top:17px;font-size:17px;line-height:1.55}
.photo-story-copy .cyprus-closing{margin-top:24px;padding-top:18px;border-top:1px solid rgba(133,139,112,.5);font-weight:650;color:var(--aegean-teal)}
.santorini-sunset{background:linear-gradient(125deg,var(--aegean-teal) 0%,#3f5b68 55%,#806c80 100%);color:#e0e7e3}
.santorini-sunset .photo-story-inner{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.santorini-sunset .photo-story-visual{grid-column:2;grid-row:1}
.santorini-sunset .photo-story-copy{grid-column:1;grid-row:1}
.santorini-sunset .photo-story-visual img{object-position:50% 50%}
.santorini-sunset .photo-story-eyebrow{color:var(--peach-sand)}
.santorini-sunset .photo-story-copy h2{color:var(--warm-marble)}
.santorini-more{margin-top:27px;padding-top:20px;border-top:1px solid rgba(231,188,154,.42)}
.santorini-more h3{color:var(--peach-sand);font-size:25px;line-height:1.15}
.santorini-more p{font-size:15px!important;line-height:1.52!important;margin-top:11px!important;color:#d0dcd9}

.site-footer{background:linear-gradient(180deg,var(--aegean-teal) 0%,#092d36 100%);color:var(--warm-marble);border-top:1px solid rgba(231,188,154,.22)}
.footer-inner{padding-block:36px}
.footer-message{text-align:center}
.footer-message h2{font-size:clamp(28px,2.3vw,32px);line-height:1.16;text-wrap:balance}
.footer-message p{font-size:16px;line-height:1.4;color:#d0dcd9;margin-top:6px}

@media(max-width:950px){.hero-inner{gap:30px}.hero-device{padding-inline:14px}}
@media(min-width:951px) and (max-width:1100px){.cyprus-morning .photo-story-visual img{aspect-ratio:1.3;object-position:75% 50%}.santorini-sunset .photo-story-visual img{aspect-ratio:1.4}}
@media(max-width:950px){.photo-story-inner,.santorini-sunset .photo-story-inner{display:flex;flex-direction:column;align-items:stretch;gap:34px;max-width:760px}.photo-story-visual img{aspect-ratio:1672/941;object-fit:contain}.photo-story-copy{max-width:650px}.photo-story-copy h2{max-width:22ch}}
@media(max-width:900px){html{scroll-padding-top:80px}}
@media(max-width:700px){
  html{scroll-padding-top:calc(80px + env(safe-area-inset-top,0px))}
  .content-width{width:min(100% - 34px,560px)}
  .site-header{top:calc(12px + env(safe-area-inset-top,0px))}
  .header-cta{font-size:14px}.header-cta-face{gap:9px}
  .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-height:100svh;padding-block:92px 35px}
  .hero h1{font-size:clamp(41px,9.5vw,54px);line-height:1.02;margin-top:10px}
  .hero-lead{font-size:16px;line-height:1.48;margin-top:17px}
  .hero-detail{font-size:15px;line-height:1.48;margin-top:14px}
  .hero-device{align-self:center;padding:0 16px 0 10px;margin:0}
  .magic-iphone{width:min(50vw,200px);filter:drop-shadow(0 15px 22px rgba(18,52,59,.3))}
  .photo-story-inner,.santorini-sunset .photo-story-inner{width:min(100% - 34px,560px);gap:25px;padding-block:42px 50px}
  .photo-story-visual img{aspect-ratio:941/1672;object-fit:contain}
  .photo-story-copy h2{font-size:clamp(34px,8vw,40px);margin-top:13px}
  .photo-story-copy p:not(.photo-story-eyebrow){font-size:16px;line-height:1.55;margin-top:16px}
  .photo-story-copy .cyprus-closing{margin-top:22px;padding-top:17px}
  .santorini-more{margin-top:23px;padding-top:17px}
  .footer-inner{padding-block:28px}
  .footer-message h2{font-size:clamp(22px,6.2vw,26px)}
  .footer-message p{font-size:15px}
}
@media(max-width:390px){
  .content-width{width:calc(100% - 26px)}
  .header-cta{font-size:13px}.header-cta-face{padding-inline:11px;gap:7px}
  .hero-inner{padding-top:89px;gap:13px}
  .hero h1{font-size:41px}
  .hero-lead{font-size:15px}
  .hero-detail{font-size:14px}
  .magic-iphone{width:min(50vw,190px)}
}
@media(max-width:370px){.header-cta{font-size:12px}.header-cta-face{gap:6px;padding-inline:9px}}
@media(orientation:portrait){
  .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-height:100svh;padding-block:92px 35px}
  .hero-text{display:contents}
  .hero-copy{order:0}
  .hero h1{font-size:clamp(32px,8vw,44px);line-height:1.08}
  .hero-device{order:1;align-self:center}
  .hero-fsrs{order:2;align-self:center;font-size:14px;line-height:1.5;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-actions,.header-cta-face,.header-cta-face:before,.header-cta-arrow,.magic-iphone-float{animation:none}.header-cta-face:before{opacity:0}*,*:before,*:after{transition-duration:.01ms!important}}
