/*
Theme Name: Casa Luz
Theme URI: https://casa-luz.eu
Author: Casa Luz
Description: One-page theme for Casa Luz — biophoton analysis, kinesiology, fascia work and distance sessions. Valencia, Frankfurt and worldwide.
Version: 1.7.4
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: casa-luz
*/


/* ================= CASA LUZ ================= */
:root{
  --bg:#FDFEFC;
  --panel:#FFFFFF;
  --glow:#F1FAE6;
  --ink:#24361F;
  --soft:#4E5C46;
  --line:#E5EDE0;
  --accent:#55A83F;
  --accent-solid:#3A7E29;   /* green used behind white text */
  --deep:#357524;
  --accent2:#C4841C;      /* script words, large text */
  --accent2-ink:#9A6210;  /* the same gold for small text */
  --halo:rgba(85,168,63,.13);
  --f-nav:clamp(1.02rem,.95rem + .35vw,1.18rem);
  --f--2:.74rem;
  --f--1:.92rem;
  --f-0:clamp(1.02rem,.97rem + .24vw,1.12rem);
  --f-1:clamp(1.32rem,1.15rem + .7vw,1.75rem);
  --f-2:clamp(2.1rem,1.5rem + 2.4vw,3.5rem);
  --f-3:clamp(2.6rem,1.7rem + 3.4vw,4.3rem);
  --sp:clamp(3.6rem,8vw,6.5rem);
  color-scheme:light;
}
*{box-sizing:border-box}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent-solid);
  color:#fff;padding:.7rem 1.2rem;border-radius:0 0 6px 0;font-family:"Cormorant Garamond",serif;
  letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;text-decoration:none}
.skip-link:focus{left:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
#form{scroll-margin-top:clamp(4.6rem,3.9rem + 2vw,6rem)}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Lato","Helvetica Neue",Arial,sans-serif;font-size:var(--f-0);font-weight:300;
  line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}
p{margin:0} a{color:inherit} svg{display:block}
h1,h2,h3,h4{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;
  line-height:1.16;text-wrap:balance;color:var(--ink)}
h1{line-height:1.22}
h1{font-size:var(--f-3)} h2{font-size:var(--f-2)} h3{font-size:var(--f-1);font-weight:400}
.wrap{width:min(100% - 2.4rem,66rem);margin-inline:auto}
.narrow{width:min(100% - 2.4rem,40rem);margin-inline:auto}

.spark{width:9px;height:9px;flex:none;color:var(--accent2)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:.95rem;margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:1.02rem;letter-spacing:.32em;
  text-transform:uppercase;font-weight:600;color:var(--accent2-ink)}
.eyebrow span{padding-top:.1em}
.rule{height:1px;margin:0 auto;max-width:22rem;
  background:linear-gradient(90deg,transparent,var(--line),transparent)}

.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1.05rem 2.1rem;border-radius:999px;
  background:var(--accent-solid);color:#fff;text-decoration:none;font-family:"Lato",sans-serif;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:.98rem;letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;border:1px solid var(--accent-solid);cursor:pointer;
  transition:background .2s,translate .2s}
.btn .spark{width:8px;height:8px;color:currentColor;opacity:.85}
.btn:hover{background:var(--deep);border-color:var(--deep);translate:0 -2px}
.btn.ghost{background:transparent;color:var(--deep);border-color:var(--accent)}
.btn.ghost:hover{background:color-mix(in oklab,var(--accent) 9%,transparent);color:var(--deep)}
.btn.sm{padding:.6rem 1.4rem;font-size:.88rem}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;
  border-bottom:1px solid transparent;transition:background .25s,border-color .25s}
.nav.solid{background:color-mix(in oklab,var(--bg) 92%,transparent);
  backdrop-filter:blur(10px);border-bottom-color:var(--line)}
.nav .row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;
  gap:1rem;padding-block:1.1rem}
.nav .nav-right{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.4rem);flex-wrap:nowrap}
.nav .nav-item{margin:0;white-space:nowrap}
.nav .brand{margin:0;white-space:nowrap}
.nav .brand-mark{margin:0;line-height:0;flex:none}
.nav .brand-mark img{width:44px;height:auto;display:block}
@media(max-width:45.99rem){.nav .brand-mark img{width:38px}}
.brand a{text-decoration:none}
.nav .lnk{text-decoration:none}
.nav .wrap.row{width:min(100% - 2.4rem,76rem)}
.nav .wp-block-buttons{margin:0}
.nav .nav-links{display:none;margin:0;padding:0;gap:clamp(1.2rem,2.4vw,2.2rem);align-items:center;flex:0 1 auto}
@media(min-width:60rem){.nav .nav-links{display:flex}}

/* one shared size for wordmark, links and button */
.brand{display:flex;align-items:center;text-decoration:none}
.brand b{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;
  font-size:var(--f-nav);line-height:1;color:#fff;letter-spacing:.02em;
  text-shadow:0 1px 14px rgba(10,22,8,.4);transition:color .25s}
.nav a.lnk{text-decoration:none;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:var(--f-nav);line-height:1;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:rgba(255,255,255,.94);transition:color .2s}
.nav .btn,
.nav .wp-block-button__link{display:inline-flex;align-items:center;gap:.7rem;border-radius:999px;
  text-decoration:none;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.2em;border:1px solid rgba(255,255,255,.6);
  font-size:var(--f-nav);line-height:1;padding:.55rem 1.4rem;white-space:nowrap;
  background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(4px);
  transition:background .2s,border-color .2s,color .2s,translate .2s}
@media(max-width:45.99rem){
  .nav .btn,.nav .wp-block-button__link{font-size:.8rem;letter-spacing:.12em;padding:.48rem 1rem;gap:.5rem}
  .nav .btn .spark,.nav .wp-block-button__link::after{width:7px;height:7px}
  .nav .row{gap:.6rem;padding-block:.85rem}
}
.nav .btn:hover,
.nav .wp-block-button__link:hover{background:rgba(255,255,255,.26);border-color:#fff;translate:0 -2px}

/* scrolled state */
.nav.solid .brand b{color:var(--ink);text-shadow:none}
.nav.solid a.lnk{color:var(--soft)}
.nav.solid a.lnk:hover{color:var(--deep)}
.nav.solid .btn,
.nav.solid .wp-block-button__link{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff;
  backdrop-filter:none}
.nav.solid .btn:hover,
.nav.solid .wp-block-button__link:hover{background:var(--deep);border-color:var(--deep)}
.nav .wp-block-button.is-style-outline > .wp-block-button__link{border-width:1px}
/* the editor puts our class on the wrapper; keep the wrapper invisible */
.nav .wp-block-button,
.nav .wp-block-button.btn{display:inline-block;background:none;border:0;padding:0;
  backdrop-filter:none;border-radius:0}
.nav .wp-block-button::after,
.nav .wp-block-button.btn::after{content:none}
.nav .wp-block-button__link::after{content:"";width:8px;height:8px;flex:none;opacity:.85;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 Q13.2 10.8 24 12 Q13.2 13.2 12 24 Q10.8 13.2 0 12 Q10.8 10.8 12 0 Z' fill='%23C4841C'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:brightness(0) invert(1)}

/* hero — full-bleed image, headline only */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;
  min-height:92vh;min-height:92svh;padding-top:clamp(7rem,14vh,10rem);
  padding-bottom:clamp(2.6rem,7vh,5rem)}
@media(max-width:47.99rem){.hero{min-height:88vh;min-height:88svh;
  padding-bottom:clamp(2.6rem,8vh,4rem)}}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:52% 46%;z-index:-2}
@media(max-width:47.99rem){.hero-bg{object-position:56% 44%}}
.hero-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(16,26,13,.34) 0%,
    rgba(16,26,13,.06) 24%,
    rgba(16,26,13,.36) 52%,
    rgba(16,26,13,.80) 100%)}
.hero-inner{position:relative;z-index:1;width:min(100% - 1.6rem,74rem)}
.hero h1{color:#fff;max-width:18ch;font-weight:300;
  font-size:clamp(2.2rem,1.12rem + 4.5vw,5.4rem);line-height:1.1;letter-spacing:-.012em;
  overflow-wrap:break-word;hyphens:auto;
  text-shadow:0 3px 40px rgba(8,18,6,.5)}
.hero h1 em{font-style:italic;color:#FFE0A8}
.hero .sub{margin:1.2rem 0 0;max-width:26ch;color:rgba(255,255,255,.96);
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;
  font-size:clamp(1.3rem,.74rem + 2.3vw,2.95rem);line-height:1.18;letter-spacing:-.004em;
  overflow-wrap:break-word;
  text-shadow:0 2px 30px rgba(8,18,6,.55)}

/* alternating image / text rows — side by side on every screen */
.alt{display:flex;flex-direction:column;gap:clamp(2.6rem,6vw,5rem)}
.alt-row{display:grid;grid-template-columns:34% 1fr;gap:clamp(1rem,3vw,3rem);align-items:center}
.alt-row.reverse{grid-template-columns:1fr 34%}
@media(min-width:56rem){.alt-row{grid-template-columns:1fr 1.35fr;gap:clamp(2.4rem,5vw,4.5rem)}
  .alt-row.reverse{grid-template-columns:1.35fr 1fr}}
.alt-media{width:100%}
.alt-row.reverse .alt-media{order:2}
@media(min-width:56rem){
  .alt-media{max-width:21rem}
  .alt-row:not(.reverse) .alt-media{justify-self:start}
  .alt-row.reverse .alt-media{justify-self:end}
}
.frame{margin:0;overflow:hidden;border-radius:clamp(16px,2.4vw,32px);
  border:1px solid var(--accent);background:var(--panel);
  box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 5%,transparent),
             0 26px 56px -50px rgba(40,60,25,.6)}
.frame > img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.alt-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.3;
  font-size:clamp(1.15rem,.85rem + 1.5vw,2.4rem);margin-bottom:.9rem}
.alt-copy h2 .script{font-family:"Parisienne",cursive;font-style:normal;
  text-transform:none;letter-spacing:0;font-size:1.24em;color:var(--accent2);
  padding-inline:.06em}
.alt-copy p{color:var(--soft);font-size:clamp(.92rem,.86rem + .3vw,1.08rem);line-height:1.75}
.alt-copy p + p{margin-top:.9rem}
.alt-copy .turn{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;
  font-weight:500;font-size:1.16em;line-height:1;color:var(--deep);white-space:nowrap}
.alt-note{max-width:none;margin:clamp(1rem,3vw,2rem) auto 0;text-align:center;
  font-family:"Cormorant Garamond",Georgia,serif;font-style:normal;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;
  font-size:clamp(1.15rem,.85rem + 1.5vw,2.4rem);line-height:1.3;color:var(--ink)}
.alt-note .script{font-family:"Parisienne",cursive;text-transform:none;letter-spacing:0;
  font-size:1.24em;color:var(--accent2);padding-inline:.06em}
@media(max-width:47.99rem){.alt-note{margin-inline:-.7rem;letter-spacing:.045em}}
@media(min-width:56rem){.alt-note{max-width:44ch}}

/* sections */
section{padding-block:var(--sp)}
.sec-head{text-align:center;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.sec-head h2{margin:1.3rem 0 1rem}
.sec-head .intro{color:var(--soft);max-width:46ch;margin:1.2rem auto 0}

.prose{display:flex;flex-direction:column;gap:1.25rem;text-align:center;align-items:center}
.prose p{color:var(--soft);max-width:54ch}
.prose p.strong{color:var(--ink);font-family:"Cormorant Garamond",serif;font-style:italic;
  font-weight:400;font-size:var(--f-1);line-height:1.55;max-width:38ch}
.portrait{margin:0;width:100%;overflow:hidden;
  border-radius:clamp(20px,2.8vw,38px);border:1px solid var(--accent);background:var(--panel);
  box-shadow:0 0 0 5px color-mix(in oklab,var(--accent) 5%,transparent),
             0 30px 68px -56px rgba(40,60,25,.6)}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}
.me-grid{display:grid;gap:clamp(1.8rem,4vw,3.4rem);grid-template-columns:1fr;
  align-items:start;max-width:60rem;margin-inline:auto}
@media(min-width:56rem){.me-grid{grid-template-columns:.72fr 1.28fr}}
.me-portrait{max-width:22rem;justify-self:center;position:sticky;top:6rem}
@media(max-width:55.99rem){.me-portrait{position:static;max-width:19rem}}
.prose.left{text-align:left;align-items:flex-start}
.me-head{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:none;letter-spacing:0;line-height:1.25;
  font-size:clamp(1.15rem,.85rem + 1.5vw,2.4rem);margin-bottom:.4rem}
.me-head .script{font-family:"Parisienne",cursive;font-style:normal;text-transform:none;
  letter-spacing:0;font-size:1.24em;color:var(--accent2);padding-inline:.06em}
.prose.left p{max-width:none}

/* who */
.who{list-style:none;margin:0 auto;padding:0;display:grid;gap:.8rem;max-width:46rem}
.who li{display:grid;grid-template-columns:1rem 1fr;gap:1rem;align-items:start;
  padding:1rem 1.3rem;background:var(--panel);border:1px solid var(--line);border-radius:6px}
.who .spark{width:10px;height:10px;margin-top:.6rem}
.who span{color:var(--ink)}

/* sessions */
.head-alt{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.3;
  font-size:clamp(1.15rem,.85rem + 1.5vw,2.4rem)}
.head-alt .script{font-family:"Parisienne",cursive;font-style:normal;text-transform:none;
  letter-spacing:0;font-size:1.24em;color:var(--accent2);padding-inline:.06em}
.offer{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:6px;
  padding:clamp(1.9rem,4vw,3.1rem) clamp(1.5rem,3.4vw,3rem);max-width:50rem;margin-inline:auto;
  box-shadow:0 0 0 5px color-mix(in oklab,var(--accent) 5%,transparent),
             0 26px 56px -46px rgba(40,70,25,.5)}
.offer::before{content:"";position:absolute;inset:-1px;border-radius:6px;z-index:0;
  background:radial-gradient(120% 80% at 50% 0%,var(--halo),rgba(255,255,255,0) 62%)}
.offer > *{position:relative;z-index:1}
.offer-list{list-style:none;margin:0;padding:0;display:grid;
  gap:clamp(1.5rem,3vw,2.1rem);grid-template-columns:1fr}
.offer-list > .offer-item{display:grid;grid-template-columns:.85rem 1fr;gap:.95rem;align-items:start}

.offer-list > .offer-item > div > p > b{display:block;font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.3;
  color:var(--deep);font-size:clamp(1rem,.9rem + .5vw,1.35rem);margin-bottom:.55rem}
.offer-list p{color:var(--soft);line-height:1.8}
.offer-list p + p{margin-top:.75rem}
.tools{list-style:none;margin:.95rem 0 0;padding:0;display:grid;gap:.7rem}
.tools li{position:relative;padding-left:1rem;color:var(--soft);line-height:1.75;font-size:.97em}
.tools li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;
  border-radius:50%;background:color-mix(in oklab,var(--accent) 62%,transparent)}
.tools b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--deep);
  font-size:1.1em;letter-spacing:.015em}
.cards-close{margin:clamp(2.2rem,4.5vw,3rem) auto 0;max-width:52ch;text-align:center;
  color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-style:normal;
  font-weight:400;text-transform:none;letter-spacing:.005em;
  font-size:1.16em;line-height:1.55}
.cards-close .script{font-family:"Parisienne",cursive;font-style:normal;text-transform:none;
  letter-spacing:0;font-size:1.24em;color:var(--accent2);padding-inline:.06em}


/* quote */
.quote{position:relative;isolation:isolate;overflow:hidden;text-align:center;
  padding-block:clamp(4.4rem,10vw,7rem)}

.quote-note{margin-top:2.1rem;line-height:1.45}

/* faq */
.faq{max-width:44rem;margin-inline:auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:1.3rem 2.6rem 1.3rem 0;
  font-family:"Cormorant Garamond",serif;font-size:var(--f-1);line-height:1.35;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.6rem;top:1.6rem;width:8px;height:8px;
  border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);rotate:45deg;
  transition:rotate .25s}
.faq details[open] summary::after{rotate:-135deg}
.faq .a{padding:0 2.6rem 1.6rem 0;color:var(--soft);max-width:40rem}
.fill{color:var(--deep);background:color-mix(in oklab,var(--accent) 15%,transparent);
  padding:.05em .45em;border-radius:2px;font-size:.95em}

/* locations */
.locs{display:grid;gap:1.3rem;grid-template-columns:1fr;max-width:62rem;margin-inline:auto}
@media(min-width:52rem){.locs{grid-template-columns:repeat(3,1fr)}}
.loc{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:1.7rem 1.6rem;
  box-shadow:0 24px 52px -46px rgba(40,70,25,.45)}
.loc h3{margin-bottom:.6rem}
.loc p{color:var(--soft);font-size:.98em}
.loc p + p{margin-top:.6rem}

/* contact */
.contact{position:relative;overflow:hidden}
.contact .halo{position:absolute;top:-20rem;left:50%;translate:-50% 0;width:min(150vw,68rem);
  aspect-ratio:1;z-index:0;pointer-events:none;
  background:radial-gradient(circle,var(--glow) 0%,transparent 60%)}
.contact .wrap{position:relative;z-index:1}
.contact-grid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;align-items:start}
@media(min-width:58rem){.contact-grid{grid-template-columns:.82fr 1.18fr}}
.contact-side p{color:var(--soft);margin-bottom:1.1rem}
.contact-side p:first-child{margin-bottom:1.1rem}
.contact-side .accent-line{font-family:"Cormorant Garamond",serif;font-style:italic;
  font-size:var(--f-1);line-height:1.5;color:var(--deep)}
.contact-panel{position:relative;background:var(--panel);border:1px solid var(--line);
  border-radius:6px;padding:clamp(1.8rem,4vw,3.2rem);box-shadow:none}
.contact-panel > *{position:relative;z-index:1}
.form-panel{position:relative;background:transparent;border:0;padding:0;box-shadow:none}
form{display:flex;flex-direction:column;gap:1.05rem}
.two-up{display:grid;gap:1.05rem;grid-template-columns:1fr}
@media(min-width:34rem){.two-up{grid-template-columns:1fr 1fr}}
label{display:flex;flex-direction:column;gap:.45rem;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);font-weight:600}
input,textarea{font-family:"Lato",sans-serif;font-size:var(--f-0);font-weight:300;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:.78rem .95rem;
  width:100%;letter-spacing:0;text-transform:none;line-height:1.6}
textarea{resize:vertical;min-height:7.5rem}
input:focus,textarea:focus{outline:none;border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#63705E}
form .btn{align-self:center;margin-top:.5rem}
.voice{margin-top:1.2rem;text-align:center;font-size:var(--f--1);color:var(--soft);line-height:1.7}
.voice a{text-decoration:none}
.reassure{margin-top:.9rem;font-size:var(--f--1);color:var(--soft);line-height:1.75;
  text-align:center;max-width:34rem;margin-inline:auto}
.ready{display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:1rem;padding:clamp(1.6rem,4vw,2.6rem) .4rem}
.ready .tick{width:clamp(46px,9vw,60px);height:auto;color:var(--accent)}
.ready .tick circle{opacity:.34}
.ready h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.3;color:var(--ink);
  font-size:clamp(1.05rem,.85rem + 1.1vw,1.9rem);max-width:22ch}
.ready h3 .script{font-family:"Parisienne",cursive;font-style:normal;text-transform:none;
  letter-spacing:0;font-size:1.24em;color:var(--accent2);padding-inline:.06em}
.ready p{color:var(--soft);line-height:1.8;max-width:44ch}
.ready p.last{color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.14em;line-height:1.5;max-width:34ch}
.row{display:flex;flex-wrap:wrap;gap:.7rem}

/* footer */
.fineprint{margin:0;padding:.75rem 1.2rem 1rem;max-width:none;text-align:center;
  font-size:.62rem;line-height:1.6;letter-spacing:.008em;
  color:#63705E}
.foot-bar{background:var(--accent-solid);color:#fff;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;
  justify-content:center;align-items:center;padding:1.05rem;
  font-family:"Cormorant Garamond",Georgia,serif;font-size:.95rem;
  letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.foot-bar a{text-decoration:none} .foot-bar a:hover{text-decoration:underline}
.foot-bar .spark{width:8px;height:8px;color:currentColor;opacity:.75}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}}


/* ============ WordPress block adaptations ============ */
.wp-block-group,.wp-block-columns{box-sizing:border-box}
figure.wp-block-image{margin:0}
.wp-block-image img{display:block;max-width:100%;height:auto}

/* eyebrow: sparks drawn in CSS, text stays editable */
.eyebrow::before,.eyebrow::after{content:"";width:9px;height:9px;flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 Q13.2 10.8 24 12 Q13.2 13.2 12 24 Q10.8 13.2 0 12 Q10.8 10.8 12 0 Z' fill='%23C4841C'/%3E%3C/svg%3E") center/contain no-repeat}

/* hero: image block is the background, scrim is a pseudo-element */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;
  justify-content:flex-end}
.hero > .hero-bg{position:absolute;inset:0;margin:0;z-index:-2}
.hero > .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:52% 46%}
@media(max-width:47.99rem){.hero > .hero-bg img{object-position:56% 44%}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(16,26,13,.34) 0%,rgba(16,26,13,.06) 24%,
    rgba(16,26,13,.36) 52%,rgba(16,26,13,.80) 100%)}
.hero .hero-inner{position:relative;z-index:1;width:min(100% - 1.6rem,74rem);margin-inline:auto}

/* alternating rows: the image block itself is the media column */
.alt-row > .frame{width:100%;margin:0}
@media(min-width:56rem){.alt-row > .frame{max-width:21rem}
  .alt-row:not(.reverse) > .frame{justify-self:start}
  .alt-row.reverse > .frame{justify-self:end;order:2}}
@media(max-width:55.99rem){.alt-row.reverse > .frame{order:2}}

/* buttons */
.btn::after{content:"";width:8px;height:8px;flex:none;opacity:.85;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 Q13.2 10.8 24 12 Q13.2 13.2 12 24 Q10.8 13.2 0 12 Q10.8 10.8 12 0 Z' fill='%23C4841C'/%3E%3C/svg%3E") center/contain no-repeat;filter:brightness(0) invert(1)}
.btn.ghost::after{filter:none}
.wp-block-button__link.btn{text-decoration:none}
.nav .wp-block-button__link{white-space:nowrap}

/* footer bar separator */
.foot-bar span.sep{width:8px;height:8px;display:inline-block;opacity:.75;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 Q13.2 10.8 24 12 Q13.2 13.2 12 24 Q10.8 13.2 0 12 Q10.8 10.8 12 0 Z' fill='%23C4841C'/%3E%3C/svg%3E") center/contain no-repeat;filter:brightness(0) invert(1)}

/* offer list markers */
.offer-list > .offer-item::before{content:"";width:11px;height:11px;flex:none;margin-top:.5rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0 Q13.2 10.8 24 12 Q13.2 13.2 12 24 Q10.8 13.2 0 12 Q10.8 10.8 12 0 Z' fill='%23C4841C'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:hue-rotate(72deg) saturate(1.4)}

/* FAQ: core Details block */
.faq .wp-block-details{border-bottom:1px solid var(--line)}
.faq .wp-block-details summary{list-style:none;cursor:pointer;position:relative;
  padding:1.3rem 2.6rem 1.3rem 0;font-family:"Cormorant Garamond",serif;
  font-size:var(--f-1);line-height:1.35;color:var(--ink)}
.faq .wp-block-details summary::-webkit-details-marker{display:none}

/* form plugin: bring its fields into line */
.form-panel .frm-fluent-form input[type=text],
.form-panel .frm-fluent-form input[type=email],
.form-panel .frm-fluent-form textarea,
.form-panel .wpforms-field input,
.form-panel .wpforms-field textarea{font-family:"Lato",sans-serif;font-size:var(--f-0);
  font-weight:300;color:var(--ink);background:var(--bg);border:1px solid var(--line);
  border-radius:3px;padding:.9rem 1rem;width:100%}
.form-panel .ff-btn-submit,.form-panel .wpforms-submit{all:unset}

/* confirmation screen shown by the form plugin */
.cl-thanks{display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:1rem;padding:clamp(1.6rem,4vw,2.6rem) .4rem}
.cl-thanks .tick{width:clamp(46px,9vw,60px);height:auto;color:var(--accent)}
.cl-thanks .tick circle{opacity:.34}
.cl-thanks h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.3;color:var(--ink);
  font-size:clamp(1.05rem,.85rem + 1.1vw,1.9rem);max-width:22ch}
.cl-thanks h3 .script{font-family:"Parisienne",cursive;font-style:normal;text-transform:none;
  letter-spacing:0;font-size:1.24em;color:var(--accent2);padding-inline:.06em}
.cl-thanks p{color:var(--soft);line-height:1.8;max-width:44ch}
.cl-thanks p.last{color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.14em;line-height:1.5;max-width:34ch}

/* language switcher */
.lang-switch{display:flex;align-items:center;gap:.55rem;list-style:none;margin:0;padding:0}
.lang-switch p{margin:0}
.lang-switch a{text-decoration:none;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:var(--f-nav);line-height:1;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:rgba(255,255,255,.72);transition:color .2s}
.lang-switch .current-lang a,.lang-switch a:hover{color:#fff}
.nav.solid .lang-switch a{color:color-mix(in oklab,var(--soft) 70%,transparent)}
.nav.solid .lang-switch .current-lang a,.nav.solid .lang-switch a:hover{color:var(--deep)}
@media(max-width:45.99rem){.lang-switch a{font-size:.78rem;letter-spacing:.08em}
  .lang-switch{gap:.4rem}}

/* WordPress admin bar must not hide the fixed nav */
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}

/* honeypot + error message for the contact form */
.cl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cl-error{margin:0 0 1rem;color:#8A2D2D;font-size:var(--f--1);line-height:1.7}

/* consent line under the contact form */
.cl-privacy{margin:.2rem 0 .3rem}
.form-panel .cl-privacy label,
.cl-privacy label{display:flex;flex-direction:row;align-items:flex-start;gap:.7rem;
  font-family:"Lato","Helvetica Neue",Arial,sans-serif;font-weight:300;text-transform:none;
  letter-spacing:normal;font-size:var(--f--1);line-height:1.7;color:var(--soft);cursor:pointer}
.cl-privacy label span{font-family:inherit;text-transform:none;letter-spacing:normal}
.cl-privacy input[type=checkbox]{flex:none;margin-top:.42rem;width:1rem;height:1rem;accent-color:var(--accent)}
.cl-privacy a{color:var(--deep)}

/* ordinary pages: legal notice, privacy, anything that is not the one-pager */
.legal-page{width:min(100% - 2.4rem,44rem);margin-inline:auto;
  padding-top:clamp(7rem,12vh,9rem);padding-bottom:clamp(3.5rem,8vw,6rem)}
.legal-page > h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.08em;line-height:1.3;color:var(--ink);
  font-size:clamp(1.3rem,1rem + 1.6vw,2.4rem);margin-bottom:clamp(2rem,4vw,3rem)}
.legal-page h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);line-height:1.3;color:var(--deep);
  margin:2.4rem 0 .7rem}
.legal-page h3{font-size:var(--f-0);font-weight:600;color:var(--ink);margin:1.8rem 0 .5rem}
.legal-page p{color:var(--soft);line-height:1.85;margin-bottom:1.05rem}
.legal-page ul{margin:0 0 1.4rem;padding-left:1.1rem;color:var(--soft);line-height:1.85}
.legal-page li{margin-bottom:.35rem}
.legal-page strong{color:var(--ink);font-weight:600}
.legal-page a{color:var(--deep)}
.legal-page hr{border:0;border-top:1px solid var(--line);margin:3.2rem 0}
