:root{--primary:#E4572E;--primary-deep:#C43E1B;--secondary:#F3C969;--text:#1F1D1B;--accent:#8EA36B;--bg:#FFF4E6;--bg-2:#F6E8D2;--cream:#FFF4E6;--line:rgba(31,29,27,.16)}
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Nunito Sans',sans-serif;color:var(--text);background:var(--bg);overflow-x:clip;line-height:1.65;-webkit-font-smoothing:antialiased}
  ::selection{background:var(--primary);color:var(--cream)}
  img{display:block}
  h1,h2,h3{font-family:'Playfair Display SC','Playfair Display',serif;font-weight:700;line-height:1.05;letter-spacing:-0.01em;color:var(--text)}
  .script{font-family:'Great Vibes',cursive;font-weight:400;line-height:1;color:var(--text)}
  .wrap{width:min(1640px,94vw);margin-inline:auto}
  .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

  .deco{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .m{position:absolute;opacity:0;translate:var(--tx,0) var(--ty,0);rotate:var(--r,0deg);scale:var(--s,.82);transition:opacity .9s ease,translate 1.15s cubic-bezier(.2,.8,.2,1),rotate 1.15s cubic-bezier(.2,.8,.2,1),scale 1.15s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
  .in .deco .m{opacity:var(--o,.5);translate:0 0;rotate:0deg;scale:1}
  .m.circle{border-radius:50%}
  .m.soft{border-radius:46% 54% 60% 40% / 48% 42% 58% 52%}
  .m.tri{clip-path:polygon(50% 0,100% 100%,0 100%)}
  .m.bar{border-radius:7px}
  .m.float{animation:floaty 16s ease-in-out infinite}
  @keyframes floaty{50%{transform:translate(10px,-14px) rotate(3deg)}}
  .hero>.wrap,.gallery>.wrap,.gallery>.mtrack,.reveal .wrap,.swim-copy,.frag,.compare>.wrap,.about>.wrap,.artist>.wrap,.process>.wrap,.order>.wrap,footer>.wrap{position:relative;z-index:2}

  header{position:fixed;top:0;left:0;right:0;z-index:40;padding:22px 0;transition:padding .4s,background .4s}
  header.scrolled{padding:12px 0;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(10px)}
  header .wrap{display:flex;align-items:center;justify-content:space-between}
  .brand{font-family:'Playfair Display SC','Playfair Display',serif;font-weight:800;font-size:clamp(20px,2.4vw,26px);letter-spacing:.02em;color:var(--text)}
  .nav{display:flex;gap:30px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
  .nav a{color:var(--text);text-decoration:none;opacity:.72;position:relative;transition:opacity .25s}
  .nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--primary);transition:width .3s}
  .nav a:hover{opacity:1}.nav a:hover::after{width:100%}
  @media(max-width:820px){.nav{display:none}}

  section{position:relative;z-index:2;overflow:hidden}
  .reveal,.swim{overflow:visible}

  .hero{min-height:100svh;display:flex;align-items:center;padding-top:90px}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
  .eyebrow{font-family:'Great Vibes',cursive;font-size:clamp(30px,4.6vw,50px);color:var(--text);display:block;margin-bottom:-4px}
  .hero h1{font-size:clamp(42px,7vw,86px);margin:8px 0 22px}
  .hl{position:relative;display:inline-block;font-style:italic;font-weight:500}
  .hl::before{content:"";position:absolute;left:-4px;right:-4px;bottom:.08em;height:.42em;background:var(--primary);opacity:.85;z-index:-1;border-radius:3px;transform:rotate(-1deg)}
  .hero p{font-size:clamp(16px,1.4vw,19px);max-width:46ch;font-weight:300}
  .hero-actions{display:flex;align-items:center;gap:26px;margin-top:36px}
  .btn{font-family:'Nunito Sans';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px;padding:16px 34px;border-radius:999px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:10px;background:var(--primary);color:var(--cream);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s}
  .btn:hover{transform:translateY(-3px);box-shadow:0 16px 34px -12px var(--primary);background:var(--primary-deep)}
  .btn .arrow{transition:transform .3s}.btn:hover .arrow{transform:translateX(4px)}
  .link-quiet{color:var(--text);text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.04em;border-bottom:2px solid var(--line);padding-bottom:3px;transition:border-color .3s}
  .link-quiet:hover{border-color:var(--primary)}
  .hero-art{position:relative;height:min(86vh,860px);perspective:1200px;z-index:2}
  .float-stage{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .2s ease-out}
  .hero-img{position:absolute;top:50%;left:50%;width:min(96%,800px);transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(ellipse 80% 82% at 50% 46%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 80% 82% at 50% 46%,#000 52%,transparent 100%);filter:drop-shadow(0 30px 50px rgba(61,64,91,.28));animation:bob 7s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 16px))}}
  .ring-deco{position:absolute;top:50%;left:50%;width:118%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid var(--primary);border-radius:50%;opacity:.4;z-index:-1}
  .scroll-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.6;z-index:3}
  .mouse{width:22px;height:36px;border:2px solid var(--text);border-radius:12px;position:relative}
  .mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;background:var(--text);transform:translateX(-50%);animation:wheel 1.6s ease-in-out infinite}
  @keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,10px)}}
  @media(max-width:880px){.hero .wrap{grid-template-columns:1fr;gap:8px}.hero-art{height:46vh;order:-1}.hero{padding-top:120px}}

  .kicker{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;margin-bottom:18px;color:var(--text)}
  .kicker::before{content:"";width:34px;height:2px;background:var(--primary)}
  .h-section{font-size:clamp(34px,5.2vw,62px);margin-bottom:16px}
  .h-section .script{display:block;font-size:.6em;margin-bottom:-.06em}

  .gallery{padding:14vh 0 12vh}
  .gallery .head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
  .gallery .head p{max-width:40ch;font-weight:300}
  .mtrack{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .marquee{display:flex;gap:40px;width:max-content;align-items:center;padding:18px 0}
  .marquee.l{animation:scrollL 60s linear infinite}
  .marquee.r{animation:scrollR 72s linear infinite}
  @keyframes scrollL{to{transform:translateX(-50%)}}
  @keyframes scrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  .gallery:hover .marquee{animation-play-state:paused}
  .work{flex:0 0 auto;position:relative;-webkit-mask-image:radial-gradient(ellipse 84% 86% at 50% 46%,#000 56%,transparent 100%);mask-image:radial-gradient(ellipse 84% 86% at 50% 46%,#000 56%,transparent 100%);filter:drop-shadow(0 20px 36px rgba(61,64,91,.2))}
  .work img{width:100%;height:100%;object-fit:cover}
  .work .duo{position:absolute;inset:0;mix-blend-mode:color;opacity: 1}

  .gallery .count{font-family:'Playfair Display SC','Playfair Display',serif;font-size:clamp(40px,7vw,96px);line-height:1;color:var(--primary);opacity:.86;margin-top:30px;text-align:center;letter-spacing:-.02em}

  .reveal{height:240vh;position:relative}
  .reveal-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
  .reveal .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
  .reveal-text h2{font-size:clamp(32px,4.4vw,58px);margin-bottom:18px}
  .reveal-text p{font-weight:300;max-width:42ch;font-size:17px}
  .ba{position:relative;justify-self:center;width:min(94%,620px);aspect-ratio:3/4;-webkit-mask-image:radial-gradient(ellipse 88% 90% at 50% 48%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 88% 90% at 50% 48%,#000 62%,transparent 100%);filter:drop-shadow(0 34px 60px rgba(61,64,91,.3))}
  .ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
  .ba .before{filter:grayscale(.08) contrast(1.02)}
  .seam{position:absolute;top:-4%;height:108%;width:3px;background:linear-gradient(var(--primary),var(--accent));box-shadow:0 0 26px 6px color-mix(in srgb,var(--primary) 60%,transparent);opacity:0;transform:translateX(-50%)}
  .ba-tag{position:absolute;top:14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--text);padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--cream) 80%,transparent);backdrop-filter:blur(6px)}
  .tag-before{left:14px}.tag-after{right:14px}
  @media(max-width:880px){.reveal{height:200vh}.reveal .wrap{grid-template-columns:1fr;gap:24px}.reveal-text{text-align:center}.reveal-text p{margin-inline:auto}}

  .swim{min-height:150vh;position:relative}
  .swim-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
  .swim-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:5;max-width:min(640px,82vw)}
  .swim-copy h2{font-size:clamp(30px,4.6vw,56px)}
  .swim-copy .script{font-size:clamp(34px,5vw,58px);display:block;margin-bottom:-.08em}
  .swim-copy p{font-weight:300;margin-top:12px}
  .frag{position:absolute;top:50%;left:50%;width:clamp(150px,18vw,300px);aspect-ratio:3/4;will-change:transform;-webkit-mask-image:radial-gradient(ellipse 82% 84% at 50% 46%,#000 54%,transparent 100%);mask-image:radial-gradient(ellipse 82% 84% at 50% 46%,#000 54%,transparent 100%);filter:drop-shadow(0 18px 30px rgba(61,64,91,.22))}
  .frag img{width:100%;height:100%;object-fit:cover;object-position:center 40%}

  .compare{padding:13vh 0}
  .compare .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}
  .compare-text h2{font-size:clamp(30px,4.2vw,54px);margin-bottom:16px}
  .compare-text p{font-weight:300;max-width:40ch}
  .cmp{position:relative;width:min(94%,600px);aspect-ratio:3/4;justify-self:center;user-select:none;touch-action:none;cursor:ew-resize;-webkit-mask-image:radial-gradient(ellipse 90% 92% at 50% 48%,#000 64%,transparent 100%);mask-image:radial-gradient(ellipse 90% 92% at 50% 48%,#000 64%,transparent 100%);filter:drop-shadow(0 30px 56px rgba(61,64,91,.3))}
  .cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
  .cmp .photo{filter:grayscale(.08) contrast(1.02)}
  .cmp .paint{clip-path:inset(0 0 0 var(--x,55%))}
  .cmp .handle{position:absolute;top:0;bottom:0;left:var(--x,55%);width:2px;background:var(--cream);transform:translateX(-1px)}
  .cmp .knob{position:absolute;top:50%;left:var(--x,55%);transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--primary);color:var(--cream);display:grid;place-items:center;box-shadow:0 10px 24px -6px var(--primary)}
  .cmp .lab{position:absolute;top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--text);padding:5px 13px;border-radius:999px;background:color-mix(in srgb,var(--cream) 82%,transparent);backdrop-filter:blur(6px)}
  .cmp .lab.l{left:14px}.cmp .lab.r{right:14px}
  @media(max-width:880px){.compare .wrap{grid-template-columns:1fr;gap:28px}.compare-text{text-align:center}.compare-text p{margin-inline:auto}.cmp{order:-1}}

  /* ABOUT ME */
  .about{padding:13vh 0}
  .about .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
  .about-img{position:relative;width:min(96%,640px);justify-self:center;aspect-ratio:1/1;-webkit-mask-image:radial-gradient(ellipse 90% 92% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 90% 92% at 50% 50%,#000 62%,transparent 100%);filter:drop-shadow(0 30px 56px rgba(61,64,91,.28))}
  .about-img img{width:100%;height:100%;object-fit:cover}
  .about-text h2{font-size:clamp(30px,4.2vw,54px);margin-bottom:18px}
  .about-text .script{font-size:clamp(30px,4vw,46px);display:block;color:var(--primary);margin-bottom:-.1em}
  .about-text p{font-weight:300;max-width:48ch;margin-bottom:14px}
  @media(max-width:880px){.about .wrap{grid-template-columns:1fr;gap:30px}.about-img{order:-1}}

  .artist{background:var(--primary);color:var(--cream);padding:16vh 0}
  .artist .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .artist h2,.artist .script,.artist .kicker{color:var(--cream)}
  .artist .kicker::before{background:var(--cream)}
  .artist h2{font-size:clamp(32px,4.6vw,58px);margin-bottom:22px}
  .artist p{font-weight:300;font-size:18px;max-width:46ch;color:color-mix(in srgb,var(--cream) 92%,transparent)}
  .artist .sign{font-family:'Great Vibes',cursive;font-size:46px;margin-top:24px;color:var(--cream)}
  .artist-portrait{position:relative;justify-self:center;width:min(92%,560px);aspect-ratio:3/4;-webkit-mask-image:radial-gradient(ellipse 86% 88% at 50% 48%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 86% 88% at 50% 48%,#000 58%,transparent 100%)}
  .artist-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
  @media(max-width:880px){.artist .wrap{grid-template-columns:1fr;gap:34px}.artist-portrait{order:-1}}

  .process{padding:14vh 0}
  .process .wrap.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative}
  .process .wrap.steps::before{content:"";position:absolute;top:36px;left:6%;right:6%;height:2px;background:var(--line)}
  .step{padding:0 22px;position:relative}
  .step .num{font-family:'Playfair Display SC','Playfair Display',serif;font-size:62px;font-weight:700;color:var(--text);line-height:1;position:relative;z-index:2;background:var(--bg);display:inline-block;padding-right:14px}
  .step .num::after{content:"";position:absolute;left:2px;bottom:6px;width:30px;height:8px;background:var(--primary);opacity:.85;border-radius:3px;z-index:-1}
  .step h3{font-size:21px;margin:14px 0 8px}
  .step p{font-size:15px;font-weight:300;color:color-mix(in srgb,var(--text) 84%,transparent)}
  @media(max-width:780px){.process .wrap.steps{grid-template-columns:1fr;gap:34px}.process .wrap.steps::before{display:none}.step{padding:0}}

  .order{padding:12vh 0 16vh}
  .order .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .order-preview{position:relative;aspect-ratio:3/4;width:min(92%,560px);justify-self:center;-webkit-mask-image:radial-gradient(ellipse 86% 88% at 50% 48%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 86% 88% at 50% 48%,#000 60%,transparent 100%);filter:drop-shadow(0 30px 56px rgba(61,64,91,.3))}
  .order-preview img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
  .order h2{font-size:clamp(32px,4.4vw,56px);margin-bottom:8px}
  .price{font-family:'Playfair Display SC','Playfair Display',serif;font-size:30px;color:var(--text);margin:6px 0 28px;display:inline-block;position:relative}
  .price::after{content:"";position:absolute;left:0;right:40%;bottom:-4px;height:8px;background:var(--primary);opacity:.8;border-radius:3px;z-index:-1}
  .price small{font-family:'Nunito Sans';font-size:14px;font-weight:300;color:color-mix(in srgb,var(--text) 70%,transparent)}
  .field{margin-bottom:24px}
  .field>label{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:10px;color:color-mix(in srgb,var(--text) 80%,transparent)}
  .uinput{width:100%;background:transparent;border:none;border-bottom:2px solid var(--line);padding:8px 2px;font-family:'Nunito Sans';font-size:16px;color:var(--text);transition:border-color .3s}
  .uinput:focus{outline:none;border-color:var(--primary)}
  .sizes{display:flex;gap:10px;flex-wrap:wrap}
  .size{padding:11px 20px;border-radius:999px;border:2px solid var(--line);background:transparent;cursor:pointer;font-family:'Nunito Sans';font-weight:700;font-size:14px;color:var(--text);transition:all .25s}
  .size:hover{border-color:var(--primary)}
  .size.active{background:var(--primary);color:var(--cream);border-color:var(--primary)}
  .drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:36px 24px;border-radius:18px;cursor:pointer;border:2px solid var(--line);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--secondary) 30%,transparent),transparent 70%);transition:border-color .3s,background .3s}
  .drop:hover,.drop.over{border-color:var(--primary)}
  .drop.over{background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--secondary) 55%,transparent),transparent 72%)}
  .drop .ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--cream)}
  .drop strong{font-weight:700}.drop span{font-size:13px;font-weight:300;color:color-mix(in srgb,var(--text) 70%,transparent)}
  .drop.filled{border-color:var(--accent)}
  .toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,140%);z-index:60;background:var(--text);color:var(--cream);padding:16px 26px;border-radius:999px;font-weight:700;font-size:15px;box-shadow:0 18px 40px -14px rgba(61,64,91,.6);transition:transform .5s cubic-bezier(.2,.9,.2,1)}
  .toast.show{transform:translate(-50%,0)}
  @media(max-width:880px){.order .wrap{grid-template-columns:1fr;gap:30px}.order-preview{order:-1}}

  footer{position:relative;z-index:2;overflow:hidden;background:var(--primary);color:var(--cream);padding:64px 0 44px}
  footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
  footer .brand{color:var(--cream);font-size:26px;margin-bottom:6px}
  footer .script{color:var(--cream);font-size:34px}
  footer .small{font-size:13px;opacity:.85;letter-spacing:.04em;text-align:right}
  footer a{color:var(--cream);text-decoration:underline;font-weight:700}
  footer .footer-main{padding-bottom:28px}
  footer .footer-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.24);align-items:center}
  .footer-legal{font-size:13px;letter-spacing:.04em}
  .footer-badge{position:relative;display:inline-block;padding:8px 14px;border-radius:14px}
  .footer-badge p{margin:0;font-size:13px;letter-spacing:.02em}
  .footer-badge a{text-decoration:none}
  .footer-badge::after{content:"";position:absolute;inset:-6px;border:2px solid rgba(255,255,255,.7);border-radius:18px;animation:badgeOutlinePulse 2s ease-in-out infinite;pointer-events:none}
  @keyframes badgeOutlinePulse{0%{transform:scale(1);opacity:.9}70%{transform:scale(1.08);opacity:0}100%{transform:scale(1.08);opacity:0}}
  @media(max-width:640px){footer .footer-main,footer .footer-bottom{align-items:flex-start}.footer-bottom{flex-direction:column}.footer-badge{margin-top:4px}}

  .reveal-up{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
  .reveal-up.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){*{animation:none!important}.reveal-up,.m{opacity:1!important;transform:none!important;translate:0!important;rotate:0!important;scale:1!important;transition:none!important}html{scroll-behavior:auto}}
/* WordPress block theme compatibility */
.wp-site-blocks{overflow-x:clip;min-height:100vh}
.evefinity-header{position:fixed;top:0;left:0;right:0;z-index:40;padding:22px 0;transition:padding .4s,background .4s}
.evefinity-header.scrolled{padding:12px 0;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(10px)}
.evefinity-header .wrap{display:flex;align-items:center;justify-content:space-between}
.wp-block-site-title.brand{margin:0;line-height:1}
.wp-block-site-title.brand a{font-family:'Playfair Display SC','Playfair Display',serif;font-weight:800;font-size:clamp(20px,2.4vw,26px);letter-spacing:.02em;color:var(--text);text-decoration:none}
.wp-block-navigation.nav{gap:30px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.wp-block-navigation.nav a{color:var(--text);text-decoration:none;opacity:.72;position:relative;transition:opacity .25s}
.wp-block-navigation.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--primary);transition:width .3s}
.wp-block-navigation.nav a:hover{opacity:1}.wp-block-navigation.nav a:hover::after{width:100%}
@media(max-width:820px){.wp-block-navigation.nav{display:none}}
.evefinity-section-note{font-size:13px;opacity:.7;margin-top:8px}
.evefinity-header .brand{margin:0}


.evefinity-privacy-note{font-size:13px;font-weight:300;color:color-mix(in srgb,var(--text) 72%,transparent);margin:12px 0 20px;max-width:46ch}

/* Evefinity brand logo */
.evefinity-logo-link{display:inline-flex;align-items:center;text-decoration:none;line-height:1;flex:0 0 auto}
.evefinity-logo-text{font-family:'Playfair Display SC','Playfair Display',serif;font-weight:800;font-size:clamp(20px,2.4vw,26px);color:var(--text)}
.evefinity-logo{display:block;width:clamp(168px,18vw,238px);height:auto;max-height:60px;object-fit:contain;transition:max-height .35s ease,width .35s ease}
header.scrolled .evefinity-logo{max-height:48px;width:clamp(150px,16vw,210px)}
.evefinity-footer-logo{display:block;width:min(260px,72vw);height:auto;background:var(--cream);border-radius:16px;padding:7px 12px;margin-bottom:10px}
@media(max-width:820px){.evefinity-logo{width:190px;max-height:52px}.evefinity-header .wrap{justify-content:center}}
@media(max-width:480px){.evefinity-logo{width:168px}}


 /* ===== Fade Gallery (evefinity/fadegallery) ===== */
  .fadegallery{padding:13vh 0;background:var(--bg)}
  .fadegallery .fg-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}
  .fadegallery .h-section .script{color:var(--primary)}
  .fg-head p{max-width:46ch;margin-bottom:26px;color:var(--text)}
  .fg-cta{margin-top:6px}
  .fg-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);box-shadow:0 30px 60px -30px rgba(31,29,27,.5)}
  .fg-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease;will-change:opacity}
  .fg-slide.is-active{opacity:1}
  .fg-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
  .fg-cap{position:absolute;left:0;right:0;bottom:0;padding:64px 26px 22px;color:#fff;font-weight:700;letter-spacing:.02em;font-size:clamp(15px,1.6vw,19px);background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.32) 55%,transparent);opacity:0;transform:translateY(8px);transition:opacity .9s ease .1s,transform .9s ease .1s}
  .fg-slide.is-active .fg-cap{opacity:1;transform:none}
  .fg-dots{position:absolute;left:0;right:0;bottom:16px;z-index:3;display:flex;gap:9px;justify-content:center}
  .fg-dot{width:9px;height:9px;padding:0;border:none;border-radius:999px;cursor:pointer;background:rgba(255,255,255,.5);transition:background .3s,transform .3s}
  .fg-dot:hover{background:rgba(255,255,255,.85)}
  .fg-dot.is-active{background:#fff;transform:scale(1.25)}
  @media(max-width:880px){
    .fadegallery .fg-grid{grid-template-columns:1fr;gap:30px}
    .fg-stage{aspect-ratio:4/5;order:-1}
    .fg-head{text-align:center}
    .fg-head p{margin-inline:auto}
  }
  
  
  /* ===== Style Slider (evefinity/styleslider) ===== */

.style-slider {
  padding: 13vh 0 14vh;
  background: var(--bg);
  position: relative;
  z-index: 2;
  overflow: hidden;
  text-align: center;
}

.style-slider > .wrap {
  position: relative;
  z-index: 2;
}

.style-slider-head {
  max-width: 780px;
  margin: 0 auto 30px;
}

.style-slider-head .h-section {
  margin-bottom: 18px;
}

.style-slider-head p {
  max-width: 58ch;
  margin: 0 auto;
  font-weight: 300;
  font-size: clamp(16px, 1.3vw, 18px);
}

.style-slider-controls {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 34px auto 44px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--cream) 72%, white 28%);
  box-shadow: 0 22px 48px -40px rgba(31, 29, 27, .55);
}

.style-btn {
  appearance: none;
  border: 2px solid transparent;
  background: transparent;
  color: var(--text);
  border-radius: 999px;
  padding: 12px 24px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s, color .3s, border-color .3s, transform .3s, box-shadow .3s;
}

.style-btn:hover {
  border-color: color-mix(in srgb, var(--primary) 55%, transparent);
  transform: translateY(-1px);
}

.style-btn.is-active {
  background: var(--primary);
  color: var(--cream);
  border-color: var(--primary);
  box-shadow: 0 14px 30px -16px var(--primary);
}

.style-slider-stage {
  position: relative;
  width: min(1120px, 96vw);
  height: clamp(400px, 48vw, 680px);
  margin: 0 auto;
  perspective: 1400px;
  transform-style: preserve-3d;
}

.style-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(52vw, 520px);
  aspect-ratio: 3 / 4;
  margin: 0;
  border-radius: 34px;
  overflow: hidden;
  background: var(--bg-2);
  box-shadow: 0 34px 70px -34px rgba(31, 29, 27, .62);
  transform: translate(-50%, -50%) scale(.68);
  opacity: .42;
  z-index: 1;
  transition: transform .72s cubic-bezier(.2, .8, .2, 1), opacity .5s ease, filter .5s ease, box-shadow .5s ease;
  will-change: transform, opacity;
  cursor: pointer;
  backface-visibility: hidden;
}

.style-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}

.style-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 29, 27, .42), transparent 42%);
  opacity: .72;
  transition: opacity .45s ease;
}

.style-card-caption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  color: var(--cream);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 13px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .42);
  transition: opacity .35s ease, transform .35s ease;
}

.style-card-empty {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--text) 65%, transparent);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  background:
    radial-gradient(ellipse at 50% 34%, color-mix(in srgb, var(--secondary) 34%, transparent), transparent 70%),
    var(--bg-2);
}

.style-card.is-active {
  z-index: 5;
  opacity: 1;
  filter: none;
  box-shadow: 0 42px 88px -34px rgba(31, 29, 27, .68);
  transform: translate(-50%, -50%) translateZ(110px) scale(1) rotateY(0deg);
}

.style-card.is-active::after {
  opacity: .32;
}

.style-card.is-left {
  z-index: 2;
  opacity: .62;
  filter: saturate(.88) contrast(.95);
  transform: translate(-50%, -50%) translateX(-47%) translateZ(-170px) scale(.74) rotateY(20deg) rotateZ(-2deg);
}

.style-card.is-right {
  z-index: 2;
  opacity: .62;
  filter: saturate(.88) contrast(.95);
  transform: translate(-50%, -50%) translateX(47%) translateZ(-170px) scale(.74) rotateY(-20deg) rotateZ(2deg);
}

.style-card.is-hidden {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.55);
}

@media (max-width: 760px) {
  .style-slider {
    padding: 10vh 0 11vh;
  }

  .style-slider-head {
    margin-bottom: 22px;
  }

  .style-slider-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
    margin: 26px auto 26px;
    padding: 8px;
    border-radius: 24px;
  }

  .style-btn {
    padding: 11px 8px;
    font-size: 11px;
    letter-spacing: .055em;
    white-space: normal;
    line-height: 1.25;
  }

  .style-slider-stage {
    width: 100%;
    height: min(118vw, 560px);
    perspective: 900px;
    overflow: visible;
  }

  .style-card {
    width: min(78vw, 370px);
    border-radius: 28px;
  }

  .style-card.is-active {
    transform: translate(-50%, -50%) translateY(-8px) scale(1);
    box-shadow: 0 34px 70px -38px rgba(31, 29, 27, .72);
  }

  .style-card.is-left {
    opacity: .46;
    transform: translate(-50%, -50%) translateX(-17%) translateY(36px) scale(.75) rotateZ(-5deg);
  }

  .style-card.is-right {
    opacity: .46;
    transform: translate(-50%, -50%) translateX(17%) translateY(36px) scale(.75) rotateZ(5deg);
  }

  .style-card-caption {
    font-size: 12px;
    bottom: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .style-card,
  .style-btn {
    transition: none !important;
  }
}

/* ===== Shortcode based order section ===== */
.evefinity-shortcode-form .evefinity-shortcode-box {
  margin-top: 28px;
}

.evefinity-shortcode-box form,
.evefinity-shortcode-box .wpcf7,
.evefinity-shortcode-box .wpforms-container,
.evefinity-shortcode-box .fluentform,
.evefinity-shortcode-box .gform_wrapper {
  width: 100%;
}

.evefinity-shortcode-box input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.evefinity-shortcode-box textarea,
.evefinity-shortcode-box select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 2px solid var(--line);
  padding: 10px 2px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
  color: var(--text);
  transition: border-color .3s;
}

.evefinity-shortcode-box textarea {
  min-height: 120px;
  resize: vertical;
}

.evefinity-shortcode-box input:focus,
.evefinity-shortcode-box textarea:focus,
.evefinity-shortcode-box select:focus {
  outline: none;
  border-color: var(--primary);
}

.evefinity-shortcode-box label {
  display: block;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 10px;
  color: color-mix(in srgb,var(--text) 80%,transparent);
}

.evefinity-shortcode-box input[type="submit"],
.evefinity-shortcode-box button[type="submit"],
.evefinity-shortcode-box .wpcf7-submit,
.evefinity-shortcode-box .wpforms-submit,
.evefinity-shortcode-box .ff-btn-submit,
.evefinity-shortcode-box .gform_button {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 14px;
  padding: 16px 34px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--primary);
  color: var(--cream);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background .3s;
}

.evefinity-shortcode-box input[type="submit"]:hover,
.evefinity-shortcode-box button[type="submit"]:hover,
.evefinity-shortcode-box .wpcf7-submit:hover,
.evefinity-shortcode-box .wpforms-submit:hover,
.evefinity-shortcode-box .ff-btn-submit:hover,
.evefinity-shortcode-box .gform_button:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px -12px var(--primary);
  background: var(--primary-deep);
}

.evefinity-shortcode-box code {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  background: color-mix(in srgb,var(--secondary) 26%,transparent);
  font-size: 13px;
}


/* ===== Evefinity Login Page ===== */

.evefinity-login {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  background: #f4f4f4;
}

.evefinity-login-grid {
  display: grid;
  grid-template-columns: minmax(280px, 520px) minmax(320px, 560px);
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
  justify-content: center;
}

.evefinity-login-side {
  position: sticky;
  top: 110px;
}

.evefinity-contact-card {
  background: #020d2e;
  color: #fff;
  border-radius: 22px;
  padding: 48px 28px;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.evefinity-contact-block + .evefinity-contact-block {
  margin-top: 34px;
}

.evefinity-contact-card h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}

.evefinity-contact-icons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.evefinity-icon-btn {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #8b2e3a;
  border-radius: 8px;
  text-decoration: none;
  font-size: 22px;
  font-weight: 700;
  transition: transform .2s ease, opacity .2s ease;
}

.evefinity-icon-btn:hover {
  transform: translateY(-2px);
  opacity: .92;
}

.evefinity-review-btn {
  margin-inline: auto;
}

.evefinity-contact-note,
.evefinity-referral-note {
  margin: 34px 0 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.evefinity-referral-note {
  font-size: 16px;
  font-weight: 500;
  opacity: .9;
}

.evefinity-login-panel {
  max-width: 560px;
}

.evefinity-login-panel .kicker {
  margin-bottom: 8px;
}

.evefinity-login-panel h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 5vw, 64px);
}

.evefinity-login-panel > p {
  margin: 0 0 26px;
  font-size: 16px;
  line-height: 1.6;
}

.evefinity-login-box {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

.evefinity-login-box .login-username,
.evefinity-login-box .login-password,
.evefinity-login-box .login-remember,
.evefinity-login-box .login-submit {
  margin: 0 0 18px;
}

.evefinity-login-box label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  letter-spacing: 0;
  text-transform: none;
}

.evefinity-login-box input[type="text"],
.evefinity-login-box input[type="password"],
.evefinity-login-box input[type="email"] {
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border: 1px solid #a9b0b8;
  background: #fff;
  border-radius: 2px;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 16px;
  color: #111;
}

.evefinity-login-box input[type="text"]:focus,
.evefinity-login-box input[type="password"]:focus,
.evefinity-login-box input[type="email"]:focus {
  outline: none;
  border-color: #7ba6ad;
}

.evefinity-login-box .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.evefinity-login-box input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.evefinity-login-box input[type="submit"] {
  min-width: 160px;
  height: 48px;
  border: 0;
  border-radius: 999px;
  background: #d4e4e6;
  color: #1b1b1b;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease;
}

.evefinity-login-box input[type="submit"]:hover {
  opacity: .92;
  transform: translateY(-1px);
}

.evefinity-lost-password {
  display: inline-block;
  margin-top: 8px;
  color: #d9e8e8;
  text-decoration: none;
  font-size: 14px;
  border: 0;
  padding: 0;
}

.evefinity-lost-password:hover {
  color: #9dbdbf;
}

.evefinity-login-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 20px;
}

@media (max-width: 980px) {
  .evefinity-login-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .evefinity-login-side {
    position: static;
  }

  .evefinity-contact-card {
    min-height: auto;
    padding: 34px 22px;
  }

  .evefinity-login-panel {
    max-width: none;
  }
}

.legal-page main {
	max-width: 700px !important;
    margin: 60px auto 0 !important;
    padding-inline: 20px !important;
    min-width: unset !important;
}