:root{
      --aegean:#0868b8;
      --aegean-dark:#064b86;
      --deep:#0b2d45;
      --sky:#dff2ff;
      --foam:#f7fbfd;
      --white:#ffffff;
      --sand:#eee4d3;
      --sun:#f3c86a;
      --stone:#d7d1c7;
      --olive:#707c55;
      --ink:#173244;
      --muted:#607887;
      --line:rgba(11,45,69,.14);
      --shadow:0 20px 70px rgba(7,63,100,.12);
      --apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--foam);
      font-family:var(--apple-font);
      line-height:1.7;
      font-weight:300;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(1200px,calc(100% - 42px));margin:auto}
    .serif,h1,h2,h3{font-family:var(--apple-font);font-weight:600;line-height:1.04}
    h1{font-size:clamp(4.4rem,10vw,9.2rem);margin:0;letter-spacing:-.05em}
    h2{font-size:clamp(3rem,5.4vw,5.8rem);margin:0;letter-spacing:-.025em}
    h3{font-size:clamp(2rem,3.4vw,3.5rem);margin:0}
    p{margin:0 0 1.15rem}
    .lead{font-size:clamp(1.08rem,1.55vw,1.38rem);line-height:1.75}
    .eyebrow{
      display:flex;align-items:center;gap:12px;
      text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:500;
      color:var(--aegean);margin-bottom:16px;opacity:.82;
    }
    .eyebrow:before{content:"";width:32px;height:1px;background:currentColor}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      padding:15px 23px;border:1px solid var(--deep);border-radius:999px;
      font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;
      transition:.25s ease;
    }
    .btn:hover{background:var(--deep);color:#fff;transform:translateY(-2px)}
    .btn.blue{background:var(--aegean);border-color:var(--aegean);color:#fff}
    .btn.blue:hover{background:var(--aegean-dark);border-color:var(--aegean-dark)}
    .btn.light{border-color:rgba(255,255,255,.8);color:#fff}
    .btn.light:hover{background:#fff;color:var(--deep)}
    .text-link{
      display:inline-flex;gap:9px;align-items:center;
      text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.72rem
    }
    .text-link span{transition:transform .2s}
    .text-link:hover span{transform:translateX(4px)}

    nav{
      position:fixed;top:0;left:0;right:0;z-index:50;
      background:rgba(247,251,253,.86);backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(11,45,69,.08);
    }
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}
    .brand{display:flex;align-items:baseline;gap:10px}
    .brand strong{font-family:var(--apple-font);font-size:1.75rem;font-weight:600;letter-spacing:-.03em}
    .brand small{text-transform:uppercase;letter-spacing:.2em;font-size:.55rem;font-weight:600;color:var(--aegean)}
    .nav-links{display:flex;align-items:center;gap:26px;font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;font-weight:500}
    .nav-phone{color:var(--aegean);font-weight:600}
    .menu-btn{display:none;border:0;background:transparent;font-size:1.4rem;color:var(--deep)}

    .hero{
      min-height:100svh;
      display:flex;align-items:flex-end;
      position:relative;color:#fff;overflow:hidden;
      background:
        linear-gradient(180deg,rgba(2,38,71,.02) 0%,rgba(2,38,71,.15) 35%,rgba(2,38,71,.74) 100%),
        url("../images/hero-relaxing-greece.png") center center/cover;
    }
    .hero:before{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(3,43,75,.38),transparent 60%);
      pointer-events:none;
    }
    .hero-content{position:relative;z-index:2;padding:165px 0 68px}
    .hero .eyebrow{color:rgba(255,255,255,.82);font-size:.64rem;letter-spacing:.14em;margin-bottom:12px}
    .hero h1{max-width:1040px;text-shadow:0 3px 30px rgba(0,0,0,.12)}
    .hero-copy{max-width:650px;font-size:clamp(1.05rem,1.5vw,1.25rem);margin:25px 0 30px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .greek-note{
      position:absolute;right:32px;bottom:48px;z-index:2;
      writing-mode:vertical-rl;transform:rotate(180deg);
      font-family:var(--apple-font);font-size:.92rem;letter-spacing:.06em;color:rgba(255,255,255,.74);font-weight:500
    }

    section{padding:112px 0}
    .story{background:#fff;position:relative}
    .story:before{
      content:"";position:absolute;top:0;left:0;width:42%;height:7px;background:var(--aegean);
    }
    .story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
    .story-copy{max-width:700px}
    .story-copy .opening{
      font-family:var(--apple-font);font-size:clamp(1.8rem,3vw,3rem);font-weight:500;
      line-height:1.19;color:var(--deep);margin-bottom:30px;
    }
    .story-signoff{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:18px;align-items:center}
    .story-mark{
      width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
      background:var(--aegean);color:#fff;font-family:var(--apple-font);font-size:1.25rem;font-weight:600
    }

    .between{
      background:linear-gradient(180deg,var(--sky),#fff);
      overflow:hidden;
    }
    .between-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:48px}
    .between-head p{max-width:600px;margin:0}
    .place-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    .place{
      min-height:610px;position:relative;display:flex;align-items:flex-end;color:#fff;
      overflow:hidden;box-shadow:var(--shadow);
    }
    .place.athens{
      background:
        linear-gradient(180deg,transparent 25%,rgba(3,39,65,.76) 100%),
        url("../images/athens-acropolis-golden.png") center/cover;
    }
    .place.santorini{
      background:
        linear-gradient(180deg,transparent 25%,rgba(3,39,65,.76) 100%),
        url("../images/santorini-relaxing-view.png") center/cover;
    }
    .place-content{padding:38px;position:relative;z-index:2}
    .place-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:600;margin-bottom:10px}
    .place p{max-width:500px;margin:14px 0 0}

    .collection{background:var(--foam)}
    .section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:52px}
    .section-head p{max-width:560px;margin:0}
    .property-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
    .property{
      background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;
    }
    .property-image{height:460px;background-size:cover;background-position:center}
    .property.mon .property-image{
      background-image:
        linear-gradient(rgba(0,70,115,.03),rgba(0,70,115,.03)),
        url("../images/mon-signor-real.png");
    }
    .property.fanouris .property-image{
      background-image:
        linear-gradient(rgba(0,70,115,.03),rgba(0,70,115,.03)),
        url("../images/fanouris-real.png");
    }
    .property-body{padding:34px 34px 38px}
    .property-meta{color:var(--aegean);text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;font-weight:600}
    .property h3{margin:8px 0 13px}
    .property p{max-width:530px}

    .light-section{background:var(--aegean);color:#fff;position:relative;overflow:hidden}
    .light-section:before{
      content:"";position:absolute;width:420px;height:420px;border-radius:50%;
      border:1px solid rgba(255,255,255,.22);right:-130px;top:-160px;
      box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025);
    }
    .light-section .eyebrow{color:#fff}
    .light-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;position:relative;z-index:1}
    .sea-photo{
      min-height:590px;
      background:
        linear-gradient(rgba(1,56,101,.05),rgba(1,56,101,.05)),
        url("../images/greek-light-sea.png") center/cover;
      border:10px solid rgba(255,255,255,.95);
      box-shadow:0 30px 90px rgba(1,39,72,.3);
    }
    .light-copy p{color:rgba(255,255,255,.86)}
    .light-words{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
    .light-words span{border:1px solid rgba(255,255,255,.45);padding:9px 13px;border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}

    .commitments{background:#fff}
    .commit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:54px}
    .commit{background:#fff;padding:34px 28px;min-height:330px}
    .commit .num{font-size:.7rem;font-weight:600;color:var(--aegean);letter-spacing:.15em}
    .commit h3{font-size:2rem;margin:55px 0 14px}
    .commit p{font-size:.92rem;color:#526b7a}

    .people{background:var(--sand)}
    .people-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
    .people-photo{
      min-height:590px;
      background:
        linear-gradient(rgba(7,70,110,.05),rgba(7,70,110,.1)),
        url("../images/people-young-portrait.png") center top/cover;
    }
    .values{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;padding-top:28px;border-top:1px solid rgba(11,45,69,.16)}
    .value strong{display:block;color:var(--aegean);margin-bottom:4px}

    .manifesto{
      background:var(--deep);color:#fff;padding:130px 0;
      position:relative;overflow:hidden;
    }
    .manifesto:after{
      content:"MERAKI";position:absolute;right:-30px;bottom:-85px;
      font-family:var(--apple-font);font-size:clamp(8rem,22vw,20rem);line-height:.8;font-weight:700;
      color:rgba(255,255,255,.035);pointer-events:none;
    }
    .manifesto .eyebrow{color:#8acbff}
    .manifesto blockquote{
      margin:0;max-width:1070px;font-family:var(--apple-font);font-weight:600;
      font-size:clamp(2.8rem,5.5vw,6rem);line-height:1.04;
      position:relative;z-index:1;
    }

    .contact{background:linear-gradient(180deg,#fff,var(--sky))}
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
    .contact-card{
      background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:38px;
    }
    .contact-row{padding:18px 0;border-bottom:1px solid var(--line)}
    .contact-row:last-child{border-bottom:0}
    .contact-row small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;color:var(--aegean);font-weight:600;margin-bottom:5px}
    .phone-big{font-family:var(--apple-font);font-size:clamp(2rem,4vw,3.7rem);line-height:1.1;color:var(--deep);font-weight:600}

    footer{background:#06273e;color:rgba(255,255,255,.78);padding:46px 0}
    .footer-grid{display:flex;justify-content:space-between;gap:35px;align-items:flex-end}
    .footer-brand strong{display:block;color:#fff;font-family:var(--apple-font);font-size:1.75rem;font-weight:600}
    .footer-brand p{max-width:500px;margin:6px 0 0;font-size:.86rem}
    .footer-meta{text-align:right;font-size:.74rem;line-height:1.8}

    .reveal{opacity:0;transform:translateY(22px);transition:.75s ease}
    .reveal.visible{opacity:1;transform:none}

    @media(max-width:980px){
      .nav-links{
        display:none;position:absolute;top:78px;left:0;right:0;
        background:#fff;padding:26px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)
      }
      .nav-links.open{display:flex}
      .menu-btn{display:block}
      .story-grid,.between-head,.light-grid,.people-grid,.contact-grid{grid-template-columns:1fr;gap:46px}
      .place-grid,.property-grid{grid-template-columns:1fr}
      .commit-grid{grid-template-columns:1fr 1fr}
      .greek-note{display:none}
      .story:before{width:65%}
    }

    @media(max-width:650px){
      .container{width:min(100% - 28px,1200px)}
      section{padding:82px 0}
      .hero-content{padding:145px 0 48px}
      .section-head{display:block}
      .section-head p{margin-top:18px}
      .place{min-height:500px}
      .property-image{height:370px}
      .commit-grid{grid-template-columns:1fr}
      .values{grid-template-columns:1fr}
      .sea-photo,.people-photo{min-height:430px}
      .footer-grid{display:block}
      .footer-meta{text-align:left;margin-top:25px}
      .brand small{display:none}
    }
  
    .lang-switch{
      display:flex;align-items:center;gap:6px;padding:4px 0;
      font-size:.72rem;letter-spacing:.08em;white-space:nowrap
    }
    .lang-switch button{
      border:0;background:transparent;padding:4px 2px;color:var(--muted);
      font:inherit;font-weight:600;cursor:pointer;opacity:.55
    }
    .lang-switch button.active{color:var(--aegean);opacity:1}
    .lang-switch span{opacity:.28}
    html[lang="el"] body{letter-spacing:normal}
    @media(max-width:980px){
      .lang-switch{order:10;margin-top:2px}
    }

/* Production hardening / accessibility utilities */
.u-muted{color:var(--muted)}
.u-mt-25{margin-top:25px}
.u-mt-27{margin-top:27px}
.u-mt-28{margin-top:28px}

.skip-link{
  position:fixed;left:12px;top:12px;z-index:9999;
  padding:10px 14px;background:#fff;color:var(--deep);
  border:1px solid var(--line);border-radius:6px;
  transform:translateY(-180%);transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0)}

a:focus-visible,button:focus-visible{
  outline:3px solid #0a72c7;
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .reveal{opacity:1;transform:none}
}
