
@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/manrope-greek-300.woff2) format("woff2");unicode-range:U+0370-03FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/manrope-latin-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-greek-400.woff2) format("woff2");unicode-range:U+0370-03FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-greek-500.woff2) format("woff2");unicode-range:U+0370-03FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-greek-400.woff2) format("woff2");unicode-range:U+0370-03FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-greek-500.woff2) format("woff2");unicode-range:U+0370-03FF}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


body{margin:0;background:#0E0E0E}
a{color:#E39A63}a:hover{color:#F2B98C}
input,textarea{font-family:inherit;font-size:17px;color:#EDE6DC}
@keyframes kb { from { transform: scale(1.02) translate(0,0); } to { transform: scale(1.09) translate(-1.5%,-1%); } }
.kb { animation: kb 22s ease-in-out infinite alternate; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display:flex; gap:0; width:max-content; animation: marquee 107s linear infinite; }
.marquee > div { margin-right:20px; }
.marquee-slow { animation-duration: 132s; }
.arrow { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; background:rgba(14,14,14,.62); border:1px solid rgba(255,255,255,.28); color:#fff; display:grid; place-items:center; cursor:pointer; z-index:5; padding:0; -webkit-tap-highlight-color:transparent; }
.arrow:hover { background:rgba(14,14,14,.85); border-color:rgba(255,255,255,.6); }
.arrow:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.arrow-l { left:20px; } .arrow-r { right:20px; }
.crow { display:flex; align-items:center; gap:14px; color:#EDE6DC; text-decoration:none; min-height:44px; }
.crow:hover { color:#E39A63; }
.pill { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 20px; border:1px solid rgba(255,255,255,.35); border-radius:24px; color:#EDE6DC; text-decoration:none; font-size:15px; }
.pill:hover { color:#E39A63; border-color:#E39A63; }
.pill:focus-visible { outline:2px solid #E39A63; outline-offset:3px; }
.crow:focus-visible { outline:2px solid #E39A63; outline-offset:3px; }
.marquee-wrap:hover .marquee { animation-play-state: paused; }
@keyframes fadeup { from { opacity:0; transform: translateY(24px); } to { opacity:1; transform:none; } }
.intro-1 { animation: fadeup 1.4s ease-out both .3s; }
.intro-2 { animation: fadeup 1.4s ease-out both .9s; }
@supports (animation-timeline: view()) {
@keyframes rise { from { opacity:0; transform: translateY(90px); } to { opacity:1; transform:none; } }
@keyframes drift { from { transform: translateY(-14%) scale(1.3); } to { transform: translateY(14%) scale(1.3); } }
@keyframes driftsoft { from { transform: translateY(2%) scale(1.05); } to { transform: translateY(0) scale(1.05); } }
@keyframes wide { from { clip-path: inset(0 12% 0 12%); } to { clip-path: inset(0 0 0 0); } }
.reveal { animation: rise linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
.reveal-2 { animation-range: entry 8% entry 63%; }
.reveal-3 { animation-range: entry 16% entry 71%; }
.parallax { animation: drift linear both; animation-timeline: view(); }
.parallax-soft { animation: driftsoft linear both; animation-timeline: view(); }
.openup { animation: wide linear both; animation-timeline: view(); animation-range: entry 0% cover 40%; }
}
@media (prefers-reduced-motion: reduce) {
.hl,.nm1,.nm2,.ags,.ags img:first-child,.panup,.panright,.hs,.kb,.marquee,.intro-1,.intro-2,.reveal,.parallax,.openup { animation:none !important; opacity:1 !important; transform:none !important; clip-path:none !important; }
.hs2,.ags2,.hl2 { display:none !important; }
.hs1,.ags1 { opacity:1 !important; }
.hl1 { opacity:.75 !important; }
.nm1,.nm2 { opacity:1 !important; }
}
.eb{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#A79F94;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;width:fit-content;border-bottom:1px solid transparent}
.eb span{transition:transform .3s}
.eb:hover{color:#E39A63}.eb:hover span{transform:translateX(5px)}
.eb:focus-visible{outline:2px solid #E39A63;outline-offset:3px}
.nv{position:relative;transition:color .25s}
.nv::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nv:hover,.nv:focus-visible{color:#E39A63 !important}
.nv:hover::after,.nv:focus-visible::after{transform:scaleX(1)}
.nv:focus-visible{outline:2px solid #E39A63;outline-offset:3px}
@keyframes hsfade { 0%{opacity:1} 40%{opacity:1} 50%{opacity:0} 90%{opacity:0} 100%{opacity:1} }
.hs { animation: hsfade 16s ease-in-out infinite, kb 16s ease-in-out infinite alternate; }
.hs2 { animation-delay: -8s, -8s; opacity:0; }
@keyframes panup { from { transform: scale(1.08) translateY(3%); } to { transform: scale(1.08) translateY(-3%); } }
@keyframes panright { from { transform: scale(1.07) translateX(-3%); } to { transform: scale(1.07) translateX(3%); } }
.panup { animation: panup 30s ease-in-out infinite alternate; }
.panright { animation: panright 30s ease-in-out infinite alternate; }
.ags { animation: hsfade 16s ease-in-out infinite; }
.ags2 { animation-delay: -8s; opacity:0; }
.ags img:first-child { animation: panright 16s ease-in-out infinite alternate; }
.ags2 img:first-child { animation-name: panright2; animation-delay: -8s; }
@keyframes panright2 { from { transform: scale(1.03) translateX(-1.5%); } to { transform: scale(1.03) translateX(1.5%); } }
.hl { opacity:.75; animation: hsfade 16s ease-in-out infinite; }
.hl2 { animation-delay: -8s; opacity:0; }
@keyframes namein { from { opacity: .06; } to { opacity: 1; } }
.nm1 { animation: namein 1.6s ease-out .3s both; }
.nm2 { animation: namein 1.6s ease-out 2s both; }


*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#0E0E0E;color:#EDE6DC;font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.7}
img{-webkit-user-drag:none;max-width:100%}
.skip{position:absolute;left:-9999px;top:0;background:#E39A63;color:#0E0E0E;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
/* header / nav */
.mainnav{display:flex;flex-wrap:nowrap;align-items:center;gap:4px 22px;font-size:14px;white-space:nowrap}
.mainnav a.nv{color:#EDE6DC;text-decoration:none;padding:10px 0;line-height:1.25}
.mainnav a.nv.cur{color:#E39A63}
.mainnav a.nv.two{white-space:normal;text-align:center}
.burger{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative;z-index:120;color:#EDE6DC;padding:0}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform .3s,opacity .3s,top .3s}
.burger span{top:23px}.burger span::before{left:0;right:0;top:-7px}.burger span::after{left:0;right:0;top:7px}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}
.sitehead{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:32px clamp(32px,3.5vw,56px)}
.sitehead .brand{font-family:Manrope,Inter,system-ui,sans-serif;font-weight:300;font-size:26px;letter-spacing:.02em;white-space:nowrap;color:#EDE6DC;text-decoration:none}
.sitehead .brand .sub{color:#BDB4A8}
.pagehead{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:28px clamp(32px,3.5vw,56px)}
.pagehead .brand{font-family:Manrope,Inter,system-ui,sans-serif;font-weight:300;font-size:22px;letter-spacing:.02em;white-space:nowrap;color:#EDE6DC;text-decoration:none}
.pagehead .brand .sub{color:#BDB4A8}
/* subpages */
.pmain{max-width:1240px;margin:0 auto;padding:24px 32px 96px;display:flex;flex-direction:column;gap:48px}
.phead{display:flex;flex-direction:column;gap:16px;max-width:640px}
.pk{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#A79F94}
.ph1{margin:0;font-family:Manrope,Inter,system-ui,sans-serif;font-weight:300;font-size:32px;line-height:1.15}
.pp{margin:0;color:#D2C9BD}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.th{all:unset;display:block;aspect-ratio:3/2;overflow:hidden;background:#161616;cursor:zoom-in;border-radius:2px;position:relative}
.th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s}
.th:hover img{transform:scale(1.05);opacity:.88}
.th:focus-visible{outline:2px solid #E39A63;outline-offset:3px}
.pfoot{max-width:1240px;margin:0 auto;padding:0 32px 48px;color:#A79F94;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.pfoot a{color:#A79F94;text-decoration:underline}.pfoot a:hover{color:#E39A63}
.about{display:flex;flex-wrap:wrap;gap:40px 64px;align-items:center}
.about .ph{flex:0 1 560px;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:2px;background:#161616;position:relative}
.about .ph img.main{width:100%;height:100%;object-fit:cover;display:block}
.about .tx{flex:1 1 360px;display:flex;flex-direction:column;gap:16px}
.about .tx p{margin:0 0 1em;color:#D2C9BD}
.prose{max-width:760px;color:#D2C9BD}.prose h2{font-family:Manrope,Inter,system-ui,sans-serif;font-weight:400;font-size:22px;margin:2em 0 .4em;color:#EDE6DC}.prose a{color:#E39A63}
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(8,8,8,.97);z-index:150;display:none;align-items:center;justify-content:center}
#lb.on{display:flex}
#lbwrap{position:relative;width:900px;height:600px;flex:none}
#lbimg{width:100%;height:100%;display:block;object-fit:cover;-webkit-user-drag:none;user-select:none}
#lbl{position:absolute;width:7%;height:auto;opacity:.75;pointer-events:none}
.lbb{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(14,14,14,.62);border:1px solid rgba(255,255,255,.28);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;font-size:22px;line-height:1;font-family:inherit}
.lbb:hover{background:rgba(14,14,14,.9);border-color:rgba(255,255,255,.6)}
.lbb:focus-visible{outline:2px solid #fff;outline-offset:3px}
#lbp{left:24px;top:50%;transform:translateY(-50%)}#lbnx{right:24px;top:50%;transform:translateY(-50%)}#lbx{right:24px;top:24px}
#lbn{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);font-size:14px;color:#A79F94}
body.prints #lbn{left:24px;top:36px;bottom:auto;transform:none}
#cp{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:300;display:none;max-width:420px;width:calc(100% - 48px);background:#1A1A1A;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:28px 28px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
#cp.on{display:block}
#cp .t{font-family:Manrope,Inter,system-ui,sans-serif;font-weight:400;font-size:20px;margin-bottom:8px}
#cp .d{color:#D2C9BD;font-size:16px;line-height:1.6}
#cp button{margin-top:18px;min-height:44px;padding:0 28px;border-radius:24px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#EDE6DC;font:inherit;font-size:15px;cursor:pointer}
#cp button:hover{color:#E39A63;border-color:#E39A63}
.ob{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:none;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:center;width:min(92%,900px)}
body.prints .ob{display:flex}
.ob label{display:flex;flex-direction:column;gap:2px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#A79F94}
.ob select{min-height:44px;background:#161616;color:#EDE6DC;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:0 12px;font:inherit;font-size:15px;text-transform:none;letter-spacing:0}
.ob .go{align-self:flex-end;min-height:44px;padding:0 24px;border-radius:24px;border:1px solid #E39A63;background:#E39A63;color:#0E0E0E;font:inherit;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.ob .go:hover{background:#F2B98C;border-color:#F2B98C}
/* contact form */
.cform input,.cform textarea,.cform select{font-family:inherit;font-size:17px;color:#EDE6DC;background:transparent;border:0;border-bottom:1px solid #6B645B;padding:10px 0;min-height:44px;box-sizing:border-box;outline-offset:2px;width:100%;border-radius:0}
.cform textarea{resize:vertical}
.cform select option{color:#121212}
.cform input:focus,.cform textarea:focus,.cform select:focus{border-bottom-color:#E39A63;outline:none}
.cform label.l{font-size:14px;color:#BDB4A8}
.cform .f{display:flex;flex-direction:column;gap:4px}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform button[type=submit]{align-self:flex-start;background:#E39A63;color:#121212;border:0;border-radius:2px;padding:14px 32px;min-height:44px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer}
.cform button[type=submit]:hover{background:#F2B98C}
.cform button[disabled]{opacity:.6;cursor:wait}
#cfs{margin:0;font-size:15px;min-height:1.5em}
#cfs.ok{color:#9FD8A5}#cfs.err{color:#F2A28C}
/* marquee (JS driven) */
.js .marquee{animation:none}
.marquee-wrap{position:relative}
/* responsive */
@media (max-width:1180px){
 .burger{display:block}
 .mainnav{position:fixed;inset:0;background:rgba(10,10,10,.97);z-index:110;flex-direction:column;justify-content:center;gap:6px;font-size:22px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
 .mainnav.open{opacity:1;visibility:visible}
 .mainnav a.nv{padding:12px 0}
 .mainnav a.nv.two{white-space:nowrap}.mainnav a.nv.two br{display:none}
 body.navopen{overflow:hidden}
}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
 body{font-size:16px}
 .grid{grid-template-columns:repeat(2,1fr);gap:12px}
 .pmain{padding:12px 20px 72px;gap:32px}
 .sitehead,.pagehead{padding:18px 20px}
 .sitehead .brand{font-size:19px}.pagehead .brand{font-size:18px}
 .sitehead .brand .sub,.pagehead .brand .sub{display:none}
 .marquee>div{flex:0 0 78vw !important;height:auto !important;aspect-ratio:3/2}
 .arrow{width:44px;height:44px}.arrow-l{left:8px}.arrow-r{right:8px}
 section[style*="aspect-ratio:16/10"]{min-height:460px !important}
 h1.intro-1{font-size:24px !important}
 #contact h2{font-size:32px !important}
 #packages h3{font-size:28px !important}
 .lbb{width:44px;height:44px}#lbp{left:8px}#lbnx{right:8px}#lbx{right:8px;top:8px}
 .pfoot{padding:0 20px 36px}
}
@media (max-width:760px){img.hl{width:64px!important;right:16px!important;bottom:16px!important}}

section[style*="aspect-ratio"]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
html,body{overflow-x:hidden}
@media (max-width:760px){
 section[style*="aspect-ratio"] img[style*="width:112px"]{width:56px!important;right:16px!important;bottom:18px!important}
 section[style*="aspect-ratio"] h2,section[style*="aspect-ratio"] p{padding-right:76px;box-sizing:border-box}
 section[style*="aspect-ratio"] h2{font-size:26px!important}
}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 20px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#A79F94;text-decoration:none}
.back:hover,.back:focus-visible{color:#EDE6DC}
@media (max-width:760px){
 .sitehead .brand,.pagehead .brand{white-space:normal;line-height:1.15;display:flex;flex-direction:column;gap:3px}
 .sitehead .brand .sub,.pagehead .brand .sub{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
 .brand .dot{display:none}
}
body.prints #lb{background:#080808}
.phead .pp+.pp{font-size:15px;color:#A79F94}
.ob select{max-width:100%}
@media (max-width:760px){.ob{gap:8px 10px;bottom:12px}.ob label{flex:1 1 44%}.ob label select{width:100%}.ob .go{flex:1 1 100%;justify-content:center}}
@media (max-width:760px){.ob label:nth-child(1),.ob label:nth-child(4){order:1}.ob label:nth-child(2){order:2;flex:1 1 100%}.ob label:nth-child(3){order:3;flex:1 1 100%}.ob .go{order:4}body.prints #lbwrap{margin-bottom:190px}}
