:root{--linen:#f4efe6;--paper:#fbf8f2;--sand:#e8ddcb;--moss:#2f3a2c;--moss2:#3b4836;--sage:#8a977a;--gold:#b0843f;--gold2:#dcbd7d;--ink:#22271e;--body:#545a4b;--line:rgba(34,39,30,.14);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;overflow-x:clip}body{margin:0;background:var(--linen);color:var(--body);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:clip}body.is-loading{overflow:hidden}
img{display:block;max-width:100%;height:auto}a{color:inherit}.wrap{width:min(1200px,92vw);margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.04;margin:0;text-wrap:balance;letter-spacing:-.01em}p,li,blockquote,td{text-wrap:pretty}
h2{font-size:clamp(2.2rem,4.4vw,3.6rem);max-width:20ch}h3{font-size:1.5rem;font-weight:600}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:600;color:var(--gold);margin:0 0 1.1rem}.eyebrow.light{color:var(--gold2)}
.small{font-size:.9rem}.head-note{max-width:44ch;margin:0}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:200;background:#fff;padding:.6rem 1rem}
/* Preloader */
.preloader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}.pre-panels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}.pre-panel{display:block;background:var(--moss)}.pre-panel:nth-child(2){background:var(--moss2)}
.pre-inner{position:relative;z-index:2;display:grid;place-items:center;overflow:hidden;padding:0 1rem}.pre-inner .mandala{grid-area:1/1;width:min(300px,64vw);height:auto}.pre-inner .mandala path{stroke:rgba(220,189,125,.55)}
.pre-word{grid-area:1/1;display:block;font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,6vw,4rem);color:var(--sand);transform:translateY(60%);opacity:0}
.mandala{fill:none}.mandala path{stroke:rgba(176,132,63,.4);stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.no-draw .mandala path,.force-visible .mandala path{stroke-dashoffset:0}
/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s,box-shadow .3s}.nav.scrolled{background:rgba(244,239,230,.93);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.nav-inner{width:min(1280px,94vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.95rem 0}
.brand{text-decoration:none;color:var(--ink);line-height:1;display:flex;flex-direction:column}.brand-name{font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:.01em}.brand small{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:.35rem;font-weight:600}
.nav-links{display:flex;gap:1.7rem}.nav-links a{text-decoration:none;font-size:.93rem;color:var(--ink);font-weight:500}.nav-links a:hover{color:var(--gold)}.nav-cta{display:flex;align-items:center;gap:1rem}.nav-tel{text-decoration:none;font-size:.93rem;white-space:nowrap;color:var(--ink);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.65rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s;will-change:transform;text-align:center}
.btn-moss{background:var(--moss);color:var(--linen)}.btn-moss:hover{background:var(--gold);color:var(--ink)}.btn-ghost{border-color:rgba(34,39,30,.3);color:var(--ink)}.btn-ghost:hover{border-color:var(--moss);background:var(--paper)}
.btn-gold{background:var(--gold2);color:var(--moss)}.btn-gold:hover{background:#e8cc93}.btn-line{border-color:rgba(232,221,203,.45);color:var(--linen)}.btn-line:hover{border-color:var(--gold2);color:var(--gold2)}.btn-sm{padding:.62rem 1.15rem;font-size:.87rem;white-space:nowrap}
/* Hero */
.hero{padding:8.6rem 0 5.6rem;position:relative;overflow:hidden;background:radial-gradient(90% 70% at 80% 20%,#efe5d3 0%,var(--linen) 60%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:3.6rem;align-items:center}
h1{font-size:clamp(3.1rem,6.6vw,6rem);font-weight:500;letter-spacing:-.02em;line-height:.98}h1 em{color:var(--gold);font-style:italic;font-weight:400}
.line-mask{display:block;overflow:hidden;padding-bottom:.08em}.line{display:block;white-space:nowrap;transform:translateY(105%);opacity:0}
.hero-lead,.hero-actions,.hero-proof,.hero-note{opacity:0;transform:translateY(22px)}.hero-lead{font-size:1.1rem;max-width:47ch;margin:1.7rem 0 2rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-proof{list-style:none;padding:1.6rem 0 0;margin:2.5rem 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,auto);gap:2.2rem;justify-content:start}.hero-proof li{display:flex;flex-direction:column}.hero-proof strong{font-family:var(--serif);font-size:2.3rem;font-weight:500;color:var(--moss);line-height:1}.hero-proof span{font-size:.84rem;line-height:1.35;margin-top:.35rem;max-width:17ch}
.hero-visual{position:relative;display:grid;justify-items:center}.mandala-hero{position:absolute;width:112%;height:auto;left:-6%;top:50%;margin-top:-56%;z-index:0}
.hero-media{position:relative;z-index:1;margin:0;width:min(440px,100%);aspect-ratio:3/4;border-radius:999px 999px 1.4rem 1.4rem;overflow:hidden;clip-path:inset(8% 8% 8% 8% round 240px 240px 22px 22px);box-shadow:0 30px 60px rgba(47,58,44,.18)}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.hero-note{position:absolute;z-index:2;left:-.5rem;bottom:1.5rem;margin:0;background:var(--paper);border-radius:1rem;padding:.85rem 1.15rem;box-shadow:0 18px 40px rgba(47,58,44,.14);font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink);line-height:1.2}.hero-note span{display:block;font-family:var(--sans);font-size:.8rem;font-weight:400;color:var(--body);margin-top:.2rem}
/* Marquee */
.marquee-section{background:var(--moss);color:var(--sand);overflow:hidden;padding:1.05rem 0}.marquee{display:flex;width:max-content}.marquee-group{display:flex;gap:1.7rem;padding-right:1.7rem;font-family:var(--serif);font-style:italic;font-size:1.4rem;white-space:nowrap;align-items:center}.marquee-group i{width:7px;height:7px;transform:rotate(45deg);background:var(--gold2);display:block}
section{padding:6.4rem 0}
/* Trust */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}.fact{border-top:1px solid var(--gold);padding-top:1.3rem}.fact-k{display:block;font-family:var(--serif);font-style:italic;font-size:1.75rem;color:var(--moss);margin-bottom:.5rem;line-height:1.1}.fact p{margin:0;font-size:.98rem}
/* Menu */
.menu{background:var(--paper)}.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.6rem;flex-wrap:wrap}
.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.2rem}.tab{font:inherit;font-weight:500;font-size:1rem;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);padding:.75rem 1.4rem;border-radius:999px;transition:background .25s,color .25s,border-color .25s}.tab:hover{border-color:var(--moss)}.tab.is-active{background:var(--moss);border-color:var(--moss);color:var(--linen)}
.tab:focus-visible,.faq-q:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.panel{display:grid;grid-template-columns:1fr;gap:2rem}.panel[hidden]{display:none}
.panel-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem 3.4rem;align-items:start}.panel-intro h3{font-size:2rem;grid-row:span 2}.panel-intro p{margin:0;max-width:60ch}
.plist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:3.4rem;border-top:1px solid var(--line)}.plist li{display:flex;justify-content:space-between;align-items:baseline;gap:1.4rem;padding:.95rem 0;border-bottom:1px solid var(--line)}.plist span{max-width:44ch}.plist b{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--moss);white-space:nowrap}
.plist b::before{content:"CHF ";font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;color:var(--gold);font-weight:600}.plist b.na::before{content:""}
.menu-cta{margin-top:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.8rem 2rem;border-radius:1.4rem;background:var(--sand);flex-wrap:wrap}.menu-cta p{margin:0;max-width:52ch;font-family:var(--serif);font-size:1.35rem;color:var(--ink);line-height:1.3}
/* Special */
.special{background:var(--moss);color:#d9d4c6}.special h2{color:var(--linen)}.special-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4.4rem;align-items:center}
.special-media{margin:0;border-radius:1.4rem;overflow:hidden;aspect-ratio:4/5}.special-media img{width:100%;height:112%;object-fit:cover;margin-top:-6%}
.special-copy>p{max-width:52ch}.special blockquote{margin:1.6rem 0;font-family:var(--serif);font-style:italic;font-size:clamp(2rem,3.6vw,3rem);color:var(--gold2);line-height:1.1}.special blockquote p{margin:0}
.special-prices{display:flex;gap:1rem;margin:2rem 0}.special-prices div{border:1px solid rgba(220,189,125,.4);border-radius:1rem;padding:.9rem 1.3rem;min-width:9.5rem}.special-prices b{display:block;font-weight:500;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}.special-prices span{font-family:var(--serif);font-size:1.8rem;color:var(--linen)}
/* Work */
.work-grid{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:2rem;align-items:end}.work-copy p{max-width:40ch}.work-copy h2{max-width:16ch;margin-bottom:1rem}
.work-a,.work-b{margin:0}.work-a img,.work-b img{width:100%;border-radius:1.2rem;object-fit:cover}.work-a img{aspect-ratio:4/3}.work-b img{aspect-ratio:4/5}
figcaption{font-size:.84rem;margin-top:.7rem;color:var(--body)}
/* About */
.about{background:var(--paper)}.sig{display:block;margin-top:.6rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.about .head-note{font-family:var(--serif);font-size:1.35rem;line-height:1.35;color:var(--ink);font-style:italic;max-width:40ch}
.timeline{list-style:none;padding:0;margin:0 0 4.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}.timeline::before{content:"";position:absolute;left:0;right:0;top:2.15rem;height:1px;background:var(--line)}
.timeline li{position:relative;padding-top:4rem}.timeline li::before{content:"";position:absolute;left:0;top:1.85rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px var(--paper)}
.yr{position:absolute;top:0;left:0;font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--moss);line-height:1}.timeline h3{margin-bottom:.5rem}.timeline p{margin:0;font-size:.97rem}
.dip-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;align-items:start}.dip{margin:0}.dip img{width:100%;aspect-ratio:7/10;object-fit:cover;object-position:top;border-radius:.6rem;background:#fff;box-shadow:0 14px 30px rgba(47,58,44,.12);border:1px solid var(--line)}
.dip figcaption{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--ink);line-height:1.2;margin-top:.9rem}.dip figcaption span{display:block;font-family:var(--sans);font-weight:400;font-size:.8rem;color:var(--body);margin-top:.25rem}
/* Steps */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.step{background:var(--paper);border:1px solid var(--line);border-radius:1.4rem;padding:2rem 1.8rem 2.2rem}.step-n{display:block;font-family:var(--serif);font-style:italic;font-size:2.6rem;color:var(--gold);line-height:1;margin-bottom:1.2rem}.step h3{margin-bottom:.6rem}.step p{margin:0}
/* FAQ */
.faq{background:var(--linen)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:stretch}.faq-side{display:flex;flex-direction:column;gap:2rem}.faq-card{margin-top:auto;background:var(--paper);border:1px solid var(--line);border-radius:1.4rem;padding:1.7rem 1.8rem}.faq-card h3{margin-bottom:.6rem}.faq-card p{margin:0 0 1.2rem;max-width:52ch}.faq-list{border-top:1px solid var(--line)}
.faq-q{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--ink)}
.faq-q i{flex:none;width:14px;height:14px;position:relative}.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--gold);transition:transform .3s}.faq-q i::after{transform:rotate(90deg)}.faq-item.open .faq-q i::after{transform:rotate(0)}
.faq-item{border-bottom:1px solid var(--line)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-a>p{overflow:hidden;margin:0;max-width:56ch}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-item.open .faq-a>p{padding-bottom:1.3rem}
/* Band */
.band{position:relative;padding:0;min-height:380px;display:grid;align-items:center;overflow:hidden;background:var(--moss)}.band-media{position:absolute;inset:0;margin:0}.band-media img{width:100%;height:116%;margin-top:-8%;object-fit:cover}
.band-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(34,39,30,.86) 0%,rgba(34,39,30,.6) 55%,rgba(34,39,30,.35) 100%)}.band-copy{position:relative;z-index:2;padding:5rem 0}
.band-quote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(2.1rem,4.6vw,3.8rem);line-height:1.08;color:var(--linen);max-width:18ch}.band-sig{margin:1.2rem 0 0;letter-spacing:.22em;text-transform:uppercase;font-size:.75rem;color:var(--gold2);font-weight:600}
/* Contact */
.contact{background:var(--moss);color:#d9d4c6}.contact h2{color:var(--linen);max-width:17ch}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.contact-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2.2rem 0 1.6rem}.contact-ig{margin:0}.contact-ig a{color:var(--gold2)}
.contact-cards{display:grid;gap:1rem}.ccard{background:var(--moss2);border-radius:1.3rem;padding:1.6rem 1.7rem;border:1px solid rgba(220,189,125,.18)}.ccard h3{color:var(--linen);font-size:1.4rem;margin-bottom:.7rem}.ccard p{margin:0 0 .8rem}.txt-link{color:var(--gold2);font-weight:500}
.hours{border-collapse:collapse;width:100%}.hours th{text-align:left;font-weight:400;padding:.25rem 1rem .25rem 0;vertical-align:top}.hours td{white-space:nowrap;padding:.25rem 0;color:var(--linen)}
/* Footer */
.footer{background:#262f24;color:#b9b6a8;padding:3rem 0 2.2rem;font-size:.9rem}.foot-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:start}.foot-grid p{margin:0 0 .4rem}.foot-brand{font-family:var(--serif);font-size:1.5rem;color:var(--linen)}.foot-h{color:var(--linen);font-weight:500}.footer a{color:#d9d4c6}.foot-meta{text-align:right}.credit{font-size:.78rem;opacity:1;color:#8f8d80}
/* Responsive */
@media (max-width:1240px){.nav-tel{display:none}.nav-links{gap:1.2rem}}
@media (max-width:1024px){.mandala-hero{width:100%;left:0;margin-top:-50%}.nav-links{display:none}.hero-grid,.special-grid,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:3rem}.hero-visual{max-width:480px;margin:0 auto;width:100%}.facts{grid-template-columns:1fr 1fr}.panel{grid-template-columns:1fr;gap:1.6rem}.work-grid{grid-template-columns:1fr 1fr}.work-copy{grid-column:1/-1}.dip-row{grid-template-columns:repeat(3,1fr)}.timeline{grid-template-columns:1fr 1fr;row-gap:2.6rem}.step-grid{grid-template-columns:1fr}.step p{max-width:60ch}.plist{grid-template-columns:1fr}.panel-intro{grid-template-columns:1fr}.panel-intro h3{grid-row:auto}.timeline::before{display:none}.special-media{max-width:520px}}
@media (max-width:640px){.mandala-hero{width:100%;left:0;margin-top:-50%}body{font-size:16px}section{padding:4.6rem 0}.hero{padding:7rem 0 4rem}.brand small{display:none}.brand-name{font-size:1.3rem}.btn-sm{padding:.55rem .95rem;font-size:.82rem}
.hero-proof{grid-template-columns:repeat(3,1fr);gap:1rem}.hero-proof strong{font-size:1.8rem}.hero-proof span{font-size:.78rem}.hero-note{left:.5rem;bottom:-1rem}
.facts{grid-template-columns:1fr;gap:1.4rem}.work-grid{grid-template-columns:1fr}.dip-row{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr}.step-grid{grid-template-columns:1fr}
.plist li{flex-direction:row}.plist span{font-size:.95rem}.menu-cta{padding:1.5rem}.menu-cta p{font-size:1.2rem}.special-prices div{min-width:0;flex:1}.foot-grid{grid-template-columns:1fr}.foot-meta{text-align:left}.faq-q{font-size:1.25rem}.band{min-height:320px}}
@media (max-width:380px){.hours tr{display:flex;flex-direction:column}.hours th{padding-bottom:0}.hero-proof{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.line,.hero-lead,.hero-actions,.hero-proof,.hero-note{transform:none;opacity:1}.hero-media{clip-path:none}.hero-media img{transform:none}.mandala path{stroke-dashoffset:0}}
.force-visible .line,.force-visible .hero-lead,.force-visible .hero-actions,.force-visible .hero-proof,.force-visible .hero-note,.force-visible .reveal{opacity:1!important;transform:none!important}.force-visible .hero-media{clip-path:none!important}
.js .reveal{opacity:0}
#nl-badge-frame,[id*="netlify-badge"],iframe[src*=".netlify/scripts/hud"]{display:none!important}
