@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-greek-variable-normal.ttf") format("truetype"); font-weight:100 900; font-style:normal; font-display:swap; unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-greek-variable-italic.ttf") format("truetype"); font-weight:100 900; font-style:italic; font-display:swap; unicode-range:U+0370-03FF,U+1F00-1FFF; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-300-normal.woff2") format("woff2"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-300-italic.woff2") format("woff2"); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-400-normal.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-400-italic.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-500-normal.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Roboto"; src:url("../assets/fonts/roboto-latin-700-normal.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }

:root { --ink:#080c0f; --paper:#f3f0ea; --blue:#087bb5; --line:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#f7f7f5; font-family:"Roboto", Arial, sans-serif; font-weight:400; }
html,body { width:100%; max-width:100%; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { height:96px; padding:0 clamp(22px,5vw,78px); display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:10; width:100%; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:13px; }
.brand img { width:48px; height:48px; object-fit:contain; }
.brand-wordmark { font-size:15px; letter-spacing:.26em; font-weight:700; line-height:1.05; }
.brand-wordmark small { display:block; color:#8cb0c3; font-size:8px; letter-spacing:.5em; margin-top:6px; }
nav { display:flex; gap:38px; font-size:12px; letter-spacing:.08em; }
nav a { opacity:.7; transition:.2s; }
nav a:hover { opacity:1; }
.header-cta { border-bottom:1px solid #fff; padding:10px 0; font-size:12px; letter-spacing:.08em; }
.header-cta span:last-child,.primary-button span:last-child { margin-left:22px; }
.hero { min-height:100vh; overflow:hidden; position:relative; display:flex; flex-direction:column; justify-content:center; padding:150px clamp(22px,9vw,150px) 58px; background:radial-gradient(circle at 74% 42%,rgba(0,111,170,.18),transparent 28%),linear-gradient(120deg,#090d10,#06090b 65%); }
.hero:before { content:""; position:absolute; inset:0; opacity:.25; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:70px 70px; }
.hero-background-logo { position:absolute; width:min(44vw,610px); height:auto; right:6vw; top:50%; transform:translateY(-48%); object-fit:contain; opacity:.13; filter:saturate(.85) contrast(1.08); mix-blend-mode:screen; pointer-events:none; user-select:none; }
.eyebrow,.section-index { text-transform:uppercase; letter-spacing:.25em; font-size:10px; color:#89a2af; position:relative; }
.eyebrow { display:flex; align-items:center; gap:12px; }
.eyebrow-line { flex:0 0 28px; width:28px; height:1px; background:var(--blue); }
.hero h1,.statement h2,.services h2,.collect h2,.contact h2 { font:300 clamp(52px,7.2vw,112px)/.96 "Roboto",Arial,sans-serif; letter-spacing:-.055em; margin:35px 0; position:relative; }
em { font-style:normal; font-weight:700; color:#5e9ebe; }
.hero-copy { max-width:510px; color:#aeb6ba; font:300 18px/1.65 "Roboto",Arial,sans-serif; position:relative; }
.hero-actions { display:flex; align-items:center; gap:38px; margin-top:28px; position:relative; }
.primary-button { display:inline-flex; justify-content:space-between; align-items:center; min-width:235px; padding:18px 21px; background:#087bb5; font-size:11px; letter-spacing:.08em; font-weight:bold; }
.text-link { font-size:11px; letter-spacing:.1em; border-bottom:1px solid rgba(255,255,255,.4); padding:12px 0; }
.text-link span:last-child { margin-left:15px; }
.hero-foot { margin-top:auto; padding-top:40px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; color:#66747b; font-size:9px; letter-spacing:.16em; text-transform:uppercase; position:relative; }
.hero-foot p { color:#a4adb1; font:italic 300 14px/1.5 "Roboto",Arial,sans-serif; text-transform:none; letter-spacing:0; margin:0; text-align:center; }
.hero-foot span:last-child { text-align:right; line-height:1.5; }
.statement { background:var(--paper); color:#11191e; padding:130px clamp(22px,9vw,150px); }
.statement .section-index,.services .section-index { color:#68777d; }
.statement h2 { font-size:clamp(44px,5.5vw,82px); margin:45px 0 75px; }
.statement-copy { border-top:1px solid #c8c6c1; padding-top:32px; margin-left:34%; display:grid; grid-template-columns:1fr 1fr; gap:8vw; color:#4c565a; font:300 16px/1.7 "Roboto",Arial,sans-serif; }
.presentation-image { width:100vw; max-width:100vw; height:min(78vh,780px); margin:90px 0 0 calc(50% - 50vw); position:relative; overflow:hidden; }
.presentation-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:47% 56%; filter:contrast(1.03); transform:scale(1.08); }
.presentation-image figcaption { position:absolute; z-index:2; left:clamp(22px,9vw,150px); right:clamp(22px,9vw,150px); bottom:22px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding:14px 16px; color:#fff; background:linear-gradient(90deg,rgba(5,12,16,.78),rgba(5,12,16,.2)); font-size:13px; }
.presentation-image figcaption small { color:rgba(255,255,255,.7); font-size:8px; letter-spacing:.16em; text-align:right; }
.services { padding:130px clamp(22px,9vw,150px); display:grid; grid-template-columns:.82fr 1.18fr; gap:9vw; min-width:0; overflow:hidden; }
.services h2 { font-size:clamp(44px,5vw,72px); margin-top:45px; }
.service-list article { display:grid; grid-template-columns:50px 1fr 30px; gap:20px; padding:38px 0; border-top:1px solid rgba(255,255,255,.15); }
.service-list article:last-child { border-bottom:1px solid rgba(255,255,255,.15); }
.service-list article>span { color:#597684; font-size:10px; }
.service-list h3 { font:400 30px "Roboto",Arial,sans-serif; margin:0 0 13px; }
.service-list p { color:#849096; line-height:1.6; margin:0; max-width:460px; font-size:13px; }
.service-arrow { font-size:18px!important; color:#fff!important; }
.services-editorial { grid-column:1/-1; width:100%; max-width:100%; min-width:0; height:90vh; margin:45px 0 0; position:relative; overflow:hidden; }
.services-editorial:after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(3,9,12,.2),rgba(3,15,21,.72)); mix-blend-mode:multiply; }
.services-editorial img { width:100%; max-width:100%; height:100%; display:block; object-fit:cover; object-position:center center; filter:grayscale(1) contrast(1.08) brightness(.82); }
.services-editorial figcaption { position:absolute; z-index:2; left:6%; right:6%; bottom:12%; display:flex; justify-content:space-between; align-items:end; gap:30px; color:#fff; font-size:13px; letter-spacing:.04em; }
.services-editorial figcaption small { font-size:10px; letter-spacing:.15em; opacity:.68; }
.journey { background:radial-gradient(circle at 84% 28%,rgba(8,123,181,.22),transparent 34%),#081014; color:#f4f5f4; padding:130px clamp(22px,9vw,150px) 160px; position:relative; overflow:hidden; isolation:isolate; }
.journey:before { content:""; position:absolute; width:46vw; height:46vw; min-width:520px; min-height:520px; right:-12vw; top:8%; border:1px solid rgba(72,148,184,.14); transform:rotate(28deg); z-index:-1; }
.journey:after { content:""; position:absolute; inset:auto -8% -18% 34%; height:42%; background:linear-gradient(115deg,transparent,rgba(0,99,153,.12)); transform:skewY(-7deg); z-index:-1; }
.journey-heading { display:grid; grid-template-columns:.8fr 1.2fr; column-gap:8vw; align-items:start; position:relative; z-index:2; }
.journey-heading .section-index { color:#78a5ba; grid-column:1; }
.journey-heading h2 { grid-column:1; font:300 clamp(44px,5vw,76px)/.98 "Roboto",Arial,sans-serif; letter-spacing:-.05em; margin:42px 0 0; }
.journey-heading>p:last-child { grid-column:2; grid-row:2; color:#92a0a7; font:300 16px/1.7 "Roboto",Arial,sans-serif; max-width:520px; margin:48px 0 0; }
.journey-photos { height:650px; margin-top:165px; position:relative; z-index:2; }
.journey-photos figure { margin:0; position:absolute; overflow:visible; }
.journey-photos figure:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(145deg,rgba(5,16,22,.08) 25%,rgba(3,39,58,.72) 100%); mix-blend-mode:multiply; pointer-events:none; }
.journey-photos figure:first-child { width:52%; height:570px; left:5%; top:0; }
.journey-photos figure:last-child { width:43%; height:470px; right:4%; top:112px; }
.journey-photos figure:first-child img,.journey-photos figure:first-child:after { clip-path:polygon(0 0,100% 7%,88% 100%,0 91%); }
.journey-photos figure:last-child img,.journey-photos figure:last-child:after { clip-path:polygon(12% 0,100% 5%,100% 100%,0 88%); }
.journey-photos img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(1) contrast(1.1) brightness(.72) drop-shadow(0 28px 30px rgba(0,0,0,.38)); transform:scale(1.04); }
.journey-photos figure:first-child img { object-position:58% center; }
.journey-photos figure:last-child img { object-position:72% center; }
.journey-photos figcaption { position:absolute; z-index:10; left:24px; bottom:42px; display:flex; gap:24px; padding:12px 16px; background:rgba(5,15,20,.94); border:1px solid rgba(116,171,197,.24); backdrop-filter:blur(10px); color:#fff; font-size:10px; letter-spacing:.1em; line-height:1.35; white-space:nowrap; text-transform:uppercase; box-shadow:0 10px 24px rgba(0,0,0,.36); }
.journey-photos figcaption>span:first-child { color:#5c94af; }
.valet-flow { position:relative; z-index:3; width:88%; max-width:1060px; aspect-ratio:1537 / 1023; margin:88px auto 0; padding:0; cursor:zoom-in; touch-action:pan-y; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
.valet-flow img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; filter:contrast(1.04) brightness(.86); opacity:.78; -webkit-touch-callout:none; -webkit-user-drag:none; user-select:none; pointer-events:none; }
.valet-flow figcaption { position:absolute; right:16px; bottom:-34px; color:#78909b; font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.diagram-lens { position:absolute; z-index:5; left:0; top:0; width:184px; height:184px; border-radius:50%; border:2px solid rgba(170,218,240,.86); background-color:#081014; background-repeat:no-repeat; box-shadow:0 18px 46px rgba(0,0,0,.5),inset 0 0 0 5px rgba(5,17,23,.68); opacity:0; visibility:hidden; transform:scale(.82); transition:opacity .16s ease,transform .16s ease,visibility .16s; pointer-events:none; }
.diagram-lens:after { content:""; position:absolute; width:34px; height:7px; right:-25px; bottom:7px; border-radius:99px; background:#aad6e8; transform:rotate(45deg); transform-origin:left center; box-shadow:0 5px 12px rgba(0,0,0,.28); }
.diagram-lens.is-visible { opacity:1; visibility:visible; transform:scale(1); }
.collect { background:#dfe9ee; color:#0c171c; padding:130px clamp(22px,9vw,150px); display:grid; grid-template-columns:1fr 1fr; gap:6vw; overflow:hidden; }
.collect-intro { align-self:center; }
.collect h2 { font-size:clamp(44px,5.4vw,78px); margin:35px 0; }
.collect-intro>p:not(.section-index) { color:#526169; font:300 16px/1.7 "Roboto",Arial,sans-serif; max-width:510px; }
.collect ol { padding:20px 0 0; list-style:none; max-width:500px; }
.collect li { border-top:1px solid #b7c5cc; padding:20px 0; font-size:13px; }
.collect li>span:first-child { color:#608495; font-size:9px; margin-right:30px; }
.phone-stage { min-height:810px; position:relative; display:grid; place-items:center; }
.phone-glow { position:absolute; width:570px; height:570px; background:radial-gradient(circle,#77a9bf 0,rgba(119,169,191,.3) 35%,transparent 68%); border-radius:50%; }
.collect-screenshot-frame { width:min(356px,78vw); aspect-ratio:78 / 163.4; padding:10px; border:1px solid rgba(12,23,28,.28); border-radius:56px; background:#11191d; position:relative; z-index:2; box-shadow:0 35px 70px rgba(34,63,75,.25),inset 0 0 0 2px rgba(255,255,255,.05); overflow:hidden; }
.collect-screenshot-frame img { display:block; width:100%; height:auto; border-radius:46px 46px 28px 28px; }
.dynamic-island { position:absolute; z-index:3; top:18px; left:50%; transform:translateX(-50%); width:92px; height:25px; border-radius:99px; background:#050708; box-shadow:0 0 0 1px rgba(255,255,255,.04); }
.real-ui-note { position:absolute; right:-8%; bottom:17%; z-index:3; padding:17px 20px; background:rgba(255,255,255,.94); box-shadow:0 12px 35px rgba(40,69,80,.16); font-size:7px; letter-spacing:.1em; line-height:1.7; color:#6a7b83; }
.real-ui-note i { display:inline-block; width:6px; height:6px; background:#28a96b; border-radius:50%; margin-right:7px; }
.real-ui-note b { color:#243239; font:500 11px "Roboto",Arial,sans-serif; letter-spacing:0; }
.trust { background:#087bb5; display:grid; grid-template-columns:repeat(4,1fr); padding:55px clamp(22px,7vw,110px); }
.trust div { padding:0 4vw; border-right:1px solid rgba(255,255,255,.25); }
.trust div:last-child { border:0; }
.trust strong { display:block; font:300 42px "Roboto",Arial,sans-serif; }
.trust span { display:block; margin-top:10px; font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.75; }
.contact { padding:140px 22px; text-align:center; background:radial-gradient(circle at 50% 120%,rgba(0,118,176,.25),transparent 45%),#070b0e; }
.contact h2 { font-size:clamp(48px,6vw,88px); }
.contact>p:not(.section-index) { max-width:530px; color:#87949a; font:300 16px/1.7 "Roboto",Arial,sans-serif; margin:0 auto 35px; }
.primary-button.light { background:#f2f0eb; color:#10171b; }
footer { padding:70px clamp(22px,6vw,90px) 45px; border-top:1px solid var(--line); display:grid; grid-template-columns:1.7fr 1fr .8fr 1fr; gap:50px; color:#7c898f; font-size:11px; }
.footer-brand { display:flex; align-items:center; gap:24px; align-self:start; }
.footer-brand img { width:76px; height:76px; object-fit:contain; }
.footer-brand p { margin:0; font-size:18px; line-height:1.35; color:#9aa8ae; white-space:nowrap; }
.footer-brand p strong { color:#eef3f5; font-weight:700; }
footer small { display:block; color:#456779; font-size:8px; letter-spacing:.17em; margin-bottom:20px; }
footer a,footer p { display:block; margin:0 0 11px; }
.language-tab { position:fixed; z-index:60; top:50%; right:0; transform:translateY(-50%); display:flex; flex-direction:column; padding:5px; background:rgba(5,13,17,.9); border:1px solid rgba(121,172,197,.28); border-right:0; box-shadow:0 14px 35px rgba(0,0,0,.3); backdrop-filter:blur(12px); }
.language-tab button { width:44px; height:42px; padding:0; border:0; background:transparent; color:#8fa1a9; font-family:"Roboto",Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; cursor:pointer; transition:background .2s,color .2s; }
.language-tab button:hover { color:#fff; }
.language-tab button[aria-pressed="true"] { background:var(--blue); color:#fff; }

/* Readable medium type scale with a restrained editorial hierarchy. */
body { font-size:16px; }
.brand-wordmark { font-size:16px; }
.brand-wordmark small { font-size:11px; }
nav,.header-cta { font-size:15px; }
.eyebrow,.section-index { font-size:13px; line-height:1.5; }
.hero h1 { font-size:clamp(42px,4.9vw,66px); }
.statement h2 { font-size:clamp(36px,3.8vw,52px); }
.services h2,.collect h2,.journey-heading h2 { font-size:clamp(36px,3.7vw,50px); }
.contact h2 { font-size:clamp(38px,4vw,54px); }
.hero h1 em,.statement h2 em,.services h2 em,.collect h2 em,.journey-heading h2 em,.contact h2 em { font-size:1.14em; line-height:.98; }
.hero-copy,.statement-copy,.journey-heading>p:last-child,.collect-intro>p:not(.section-index),.contact>p:not(.section-index) { font-size:17px; }
.primary-button,.text-link { font-size:14px; }
.hero-foot { font-size:12px; }
.hero-foot p { font-size:15px; }
.presentation-image figcaption,.services-editorial figcaption { font-size:15px; }
.presentation-image figcaption small,.services-editorial figcaption small { font-size:12px; }
.service-list article>span { font-size:12px; }
.service-list h3 { font-size:28px; }
.service-list p { font-size:16px; }
.journey-photos figcaption { font-size:13px; }
.collect li { font-size:16px; }
.collect li>span:first-child { font-size:12px; }
.real-ui-note { font-size:10px; }
.real-ui-note b { font-size:13px; }
.trust strong { font-size:38px; }
.trust span { font-size:12px; line-height:1.45; }
footer { font-size:14px; }
footer small { font-size:12px; }

@media (max-width:900px) {
  nav { display:none; }
  .hero-background-logo { width:72vw; right:-24vw; opacity:.1; }
  .statement-copy { margin-left:0; }
  .services,.collect { grid-template-columns:1fr; }
  .journey-heading { grid-template-columns:1fr; }
  .journey-heading h2,.journey-heading>p:last-child { grid-column:1; grid-row:auto; }
  .services { gap:45px; }
  .phone-stage { margin-top:20px; }
  .real-ui-note { right:0; }
  .trust { grid-template-columns:1fr 1fr; gap:40px 0; }
  .trust div:nth-child(2) { border:0; }
  footer { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .language-tab { top:auto; bottom:22px; transform:none; }
  .language-tab button { width:40px; height:38px; }
  .site-header { height:78px; }
  .brand img { width:40px; height:40px; }
  .brand-wordmark { font-size:14px; }
  .brand-wordmark small { font-size:10px; }
  .header-cta { font-size:12px; }
  .hero { min-height:850px; padding-top:130px; }
  .hero h1 { font-size:clamp(36px,10.5vw,44px); }
  .statement h2,.services h2,.journey-heading h2,.collect h2,.contact h2 { font-size:clamp(32px,8.8vw,38px); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .hero-foot { grid-template-columns:1fr 1fr; }
  .hero-foot p { display:none; }
  .statement,.services,.collect { padding-top:90px; padding-bottom:90px; }
  .journey { padding-top:90px; padding-bottom:90px; }
  .journey-photos { height:620px; margin-top:120px; }
  .journey-photos figure:first-child { width:72%; height:480px; left:-8%; }
  .journey-photos figure:last-child { width:67%; height:400px; right:-8%; top:185px; }
  .valet-flow { width:96%; aspect-ratio:1537 / 1023; margin-top:58px; }
  .valet-flow>img { opacity:.82; }
  .valet-flow figcaption { right:8px; bottom:-30px; font-size:10px; }
  .diagram-lens { width:138px; height:138px; }
  .services-editorial { width:100%; height:90vh; margin-top:20px; }
  .services-editorial img { object-position:center center; }
  .services-editorial figcaption { left:22px; right:22px; bottom:32px; display:block; }
  .services-editorial figcaption small { display:block; margin-top:8px; }
  .statement-copy { grid-template-columns:1fr; gap:10px; }
  .phone-stage { min-height:650px; transform:scale(.9); margin:-30px -20px; }
  .real-ui-note { right:-10px; }
  .trust { padding:45px 22px; }
  .trust div { padding:0 20px; }
  .trust strong { font-size:34px; }
  footer { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
