
    :root{--forest:#10251f;--night:#091913;--paper:#f4f0e7;--white:#fffdf6;--gold:#c2a66a;--pale:#e7d6b1;--ink:#23332b;--muted:#6a766d;--line:rgba(194,166,106,.28);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.25,1)}
    *{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--forest);color:var(--paper);font:400 15px/1.7 var(--sans);overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}::selection{background:var(--gold);color:var(--night)}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
    .wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.section{padding-block:115px}.kicker{display:block;color:var(--gold);font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;margin-bottom:18px}.display{font:400 clamp(46px,5.5vw,80px)/1.02 var(--serif);letter-spacing:-.025em}.display em{font-weight:400;color:var(--gold)}.copy{font-size:14px;line-height:1.85;color:var(--muted)}.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:52px}.head-row .copy{max-width:330px}.line-link{display:inline-flex;align-items:center;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;padding-bottom:9px;border-bottom:1px solid var(--gold);color:inherit}.line-link:after{content:'↗';font-size:19px;transition:transform .3s}.line-link:hover:after{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--gold);padding:17px 25px;background:var(--gold);color:var(--night);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:background .3s,transform .3s;min-height:50px}.button:after{content:'↗';font-size:19px}.button:hover{background:var(--pale);transform:translateY(-2px)}.button.ghost{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.38)}.button.ghost:hover{background:rgba(255,255,255,.08)}
    .top-progress{position:fixed;top:0;inset-inline-start:0;height:2px;z-index:110;background:var(--gold);width:0}.header{position:fixed;inset:0 0 auto;z-index:100;transition:background .4s,border-color .4s;background:linear-gradient(rgba(9,25,19,.55),transparent);border-bottom:1px solid rgba(255,255,255,.15)}.header.scrolled{background:rgba(9,25,19,.94);backdrop-filter:blur(12px);border-color:var(--line)}.nav{height:90px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;margin-inline-end:auto;flex-shrink:0}.monogram{width:40px;height:44px;border:1px solid var(--gold);display:grid;place-items:center;font:25px var(--serif);color:var(--pale);border-radius:20px 20px 0 0}.brand-name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.17em;line-height:1.4}.brand-name small{display:block;font-size:7px;letter-spacing:.27em;color:var(--pale);margin-top:4px}.nav-links{display:flex;align-items:center;gap:27px}.nav-links a{font-size:9px;text-transform:uppercase;letter-spacing:.15em;padding-block:10px;transition:color .2s}.nav-links a:hover{color:var(--pale)}.languages{display:flex;align-items:center;gap:3px;border-inline-start:1px solid var(--line);padding-inline-start:17px}.languages button{background:transparent;border:0;color:#c3cbc5;font-size:10px;min-height:38px;min-width:33px}.languages button.active{color:var(--pale);border-bottom:1px solid var(--gold)}.nav-cta{border:1px solid var(--gold);padding:11px 17px!important;color:var(--pale)}.menu-toggle{display:none;border:1px solid var(--line);background:none;width:42px;height:42px;font-size:23px}
    .hero{position:relative;min-height:850px;height:100svh;max-height:1150px;overflow:hidden;isolation:isolate}.hero-scenes,.hero-scene,.hero-shade{position:absolute;inset:0}.hero-scene{opacity:0;transition:opacity 1.8s var(--ease);transform:scale(1.05)}.hero-scene.active{opacity:1}.hero-scene img{object-position:60% center;animation:drift 18s linear alternate infinite}.hero-shade{background:linear-gradient(90deg,rgba(7,23,17,.67),rgba(7,23,17,.05) 80%),linear-gradient(0deg,rgba(7,23,17,.8),transparent 48%);z-index:1}.snow{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.hero-content{position:relative;z-index:3;padding-top:clamp(225px,29vh,340px);pointer-events:none}.hero-content a{pointer-events:auto}.hero .kicker{color:var(--pale);display:flex;align-items:center;gap:18px}.hero .kicker:before{content:'';width:36px;height:1px;background:var(--gold)}.hero-title{font:400 clamp(75px,9vw,136px)/.88 var(--serif);letter-spacing:-.045em;max-width:930px;margin-bottom:27px}.hero-title em{color:var(--pale);font-weight:400}.hero-copy{color:#e0e5df;font-size:14px;max-width:445px;line-height:1.9}.hero-actions{display:flex;gap:16px;margin-top:34px}.hero-bottom{position:absolute;bottom:30px;inset-inline:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-end}.hero-location{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#e4e8e2}.scene-controls{display:flex;gap:8px;margin-top:14px}.scene-controls button{width:39px;height:24px;padding:0;background:none;border:0;position:relative;color:transparent}.scene-controls button:after{content:'';position:absolute;inset-inline:0;top:11px;height:1px;background:rgba(255,255,255,.35)}.scene-controls button.active:after{height:2px;background:var(--pale)}.film-teaser{display:flex;align-items:center;gap:14px;text-align:start;background:rgba(9,25,19,.4);border:1px solid rgba(255,255,255,.25);padding:10px 16px 10px 10px;backdrop-filter:blur(8px)}.film-teaser img{width:83px;height:55px}.film-teaser span{font:20px var(--serif);display:block}.film-teaser small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--pale)}.film-teaser .play{width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:10px;margin-inline-start:14px}.hero-title,.hero-copy,.hero-actions{animation:rise 1s var(--ease) both}.hero-title{animation-delay:.15s}.hero-copy{animation-delay:.35s}.hero-actions{animation-delay:.5s}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes drift{to{transform:scale(1.09)}}
    .editorial-strip{padding:25px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.editorial-strip span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--pale)}.editorial-strip i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.paper{background:var(--paper);color:var(--ink)}.vision{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.vision-photos{position:relative;padding-bottom:62px}.vision-main{height:570px;width:81%;overflow:hidden}.vision-detail{position:absolute;bottom:0;inset-inline-end:0;width:53%;height:255px;border:10px solid var(--paper);overflow:hidden}.vision img{transition:transform 1.2s var(--ease)}.vision figure:hover img{transform:scale(1.04)}.photo-label{position:absolute;bottom:22px;inset-inline-start:20px;color:white;font-size:9px;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 6px #000}.vision-copy .display{font-size:clamp(45px,4.6vw,66px);margin-bottom:28px}.vision-copy .copy{margin-bottom:17px}.vision-copy .line-link{margin-top:19px}.promises{display:flex;gap:30px;margin-top:36px;padding-top:26px;border-top:1px solid #d2ccbe}.promises b{display:block;font:32px var(--serif)}.promises span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
    .collection .copy{color:#a7b5ac}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.service-card{display:block}.service-image{position:relative;height:340px;overflow:hidden;margin-bottom:19px;background:#20372d}.service-image img{transition:transform 1.2s var(--ease)}.service-card:hover img{transform:scale(1.065)}.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(9,25,19,.5))}.service-index{position:absolute;top:17px;inset-inline-start:19px;z-index:2;font-size:9px;color:#fff;letter-spacing:.16em}.service-arrow{position:absolute;bottom:16px;inset-inline-end:18px;z-index:2;width:37px;height:37px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;color:white;transition:background .3s}.service-card:hover .service-arrow{background:var(--gold);color:var(--night);border-color:var(--gold)}.service-card h3{font:31px/1.1 var(--serif);margin-bottom:9px}.service-card p{font-size:12px;line-height:1.8;color:#b1beb5;max-width:360px}.service-card:nth-child(3n+2){padding-top:35px}.service-card:nth-child(3n){padding-top:70px}
    .destinations{border-top:1px solid #ded8cc}.destination-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.destination{position:relative;overflow:hidden}.destination:first-child{height:635px;grid-row:span 2}.destination:nth-child(n+2){height:304px}.destination img{transition:transform 1.3s var(--ease)}.destination:hover img{transform:scale(1.055)}.destination:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,19,12,.75));pointer-events:none}.destination-caption{position:absolute;bottom:28px;inset-inline:30px;z-index:2;color:var(--white);display:flex;align-items:center;justify-content:space-between}.destination-caption small{font-size:9px;letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:5px;color:var(--pale)}.destination-caption h3{font:40px/1 var(--serif)}.destination-caption span{border-bottom:1px solid var(--gold);padding-bottom:8px;font-size:18px}.gallery-note{margin-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}
    .lake{height:580px;position:relative;overflow:hidden;isolation:isolate}.lake>img{position:absolute;inset:0;z-index:-2;object-position:center 48%}.lake:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,17,.8),rgba(7,23,17,.05));z-index:-1}.lake-content{display:flex;flex-direction:column;justify-content:center;height:100%;max-width:600px;margin-inline-start:0}.lake .display{margin-bottom:24px}.lake .copy{color:#dce4db;max-width:380px;margin-bottom:25px}.lake .line-link{align-self:flex-start}
    .film-section{padding-block:105px;background:var(--night)}.film-section .head-row .copy{color:#a8b8ac}.film-frame{position:relative;background:#10251f;aspect-ratio:16/9;border:1px solid var(--line)}.film-frame video{width:100%;height:100%;display:block;object-fit:contain}.film-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:23px}.film-info{display:flex;align-items:center;gap:15px}.film-info span{font:24px var(--serif)}.film-info small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#a5b5aa}.sound-button{display:flex;align-items:center;gap:12px;min-height:48px;border:1px solid var(--gold);padding:10px 20px;background:transparent;color:var(--pale);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.sound-button:hover{background:rgba(194,166,106,.08)}.sound-button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.film-error{display:none;padding:20px;color:var(--pale);font-size:12px}.film-error.active{display:block}
    .moments .display{max-width:600px}.moment-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;grid-template-rows:290px 260px;gap:17px}.moment{padding:0;border:0;background:var(--forest);overflow:hidden;position:relative;min-width:0}.moment:first-child{grid-row:span 2}.moment:nth-child(2){grid-column:span 2}.moment img{transition:transform 1.2s var(--ease)}.moment:hover img{transform:scale(1.07)}.moment:after{content:'+';position:absolute;bottom:18px;inset-inline-end:18px;width:34px;height:34px;border:1px solid white;border-radius:50%;display:grid;place-items:center;color:white;background:rgba(0,0,0,.15)}.moment-caption{position:absolute;bottom:20px;inset-inline-start:20px;color:white;font-size:10px;text-transform:uppercase;letter-spacing:.14em;text-shadow:0 1px 6px #000}.manifesto{padding-block:60px 100px;text-align:center;background:var(--paper);color:var(--ink)}.manifesto p{font:400 clamp(32px,4vw,58px)/1.15 var(--serif);max-width:850px;margin:auto}.manifesto em{color:#947a42}.manifesto .kicker{margin-bottom:23px}
    .contact-section{background:var(--forest)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start}.contact-copy .display{margin-bottom:26px}.contact-copy .copy{color:#aebcb2;max-width:390px;margin-bottom:35px}.contact-details{display:flex;flex-direction:column;gap:15px;font-size:13px}.contact-details a{width:fit-content;border-bottom:1px solid var(--line);padding-bottom:5px}.contact-details address{font-style:normal;font-size:12px;color:#aebcb2;margin-top:12px;line-height:1.8}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#c4d0c7}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(194,166,106,.28);background:rgba(255,255,255,.025);color:var(--white);padding:12px;border-radius:0;min-height:49px;font-size:13px}.field select option{background:var(--forest)}.field textarea{resize:vertical;min-height:110px}.inquiry button{justify-self:start;grid-column:1/-1}.form-note{font-size:11px;line-height:1.7;color:#aebcb2;grid-column:1/-1}.contact-photo{height:190px;margin-top:40px;overflow:hidden;position:relative}.contact-photo img{object-position:center 45%}.footer{background:var(--night);border-top:1px solid var(--line);padding-block:35px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer small{font-size:9px;color:#a9b7ae;letter-spacing:.08em}.footer-links{display:flex;gap:22px;font-size:10px;color:var(--pale)}.whatsapp{position:fixed;bottom:22px;inset-inline-end:22px;width:49px;height:49px;background:var(--forest);border:1px solid var(--gold);color:var(--pale);border-radius:50%;z-index:90;display:grid;place-items:center;box-shadow:0 8px 25px #0003}.whatsapp svg{width:23px;height:23px;fill:currentColor}
    .lightbox{padding:0;border:1px solid var(--line);max-width:min(1100px,94vw);width:1100px;background:var(--night);color:var(--white)}.lightbox::backdrop{background:rgba(3,12,8,.88);backdrop-filter:blur(6px)}.lightbox img{height:auto;max-height:76vh;object-fit:contain}.lightbox-bar{padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.lightbox button{width:38px;height:38px;border:1px solid var(--gold);background:none;font-size:23px}.js [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js [data-reveal].visible{opacity:1;transform:none}.js [data-reveal="image"]{clip-path:inset(8% 0 0);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),clip-path 1.1s var(--ease)}.js [data-reveal="image"].visible{clip-path:inset(0)}.page-hidden *{animation-play-state:paused!important}
    [dir="rtl"]{--sans:'Noto Sans Arabic',Tahoma,sans-serif;--serif:'Noto Sans Arabic',Tahoma,sans-serif}[dir="rtl"] .display{line-height:1.35;letter-spacing:0;font-size:clamp(38px,4.2vw,58px)}[dir="rtl"] .hero-title{font-size:clamp(60px,7.5vw,104px);line-height:1.2;letter-spacing:0}[dir="rtl"] .brand-name,[dir="rtl"] .kicker,[dir="rtl"] .nav-links a,[dir="rtl"] .button,[dir="rtl"] .field label{letter-spacing:0}[dir="rtl"] .hero-shade{background:linear-gradient(270deg,rgba(7,23,17,.75),rgba(7,23,17,.05) 80%),linear-gradient(0deg,rgba(7,23,17,.8),transparent 48%)}[dir="rtl"] .hero-scene img{object-position:35% center}[dir="rtl"] .service-card h3,[dir="rtl"] .destination-caption h3{font-size:28px;line-height:1.4}[dir="rtl"] .film-info span{font-size:20px}[dir="rtl"] .lake:after{background:linear-gradient(270deg,rgba(7,23,17,.8),rgba(7,23,17,.05))}
    @media(min-width:1500px){.hero-content{padding-top:29vh}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.nav{gap:18px}.nav-links{gap:14px}.brand-name{font-size:10px}.nav-links a{font-size:8px}.vision{gap:50px}.vision-main{height:490px}.contact-grid{gap:60px}.service-image{height:280px}.hero-title{font-size:110px}}
    @media(max-width:900px){.nav{height:78px}.menu-toggle{display:block;flex-shrink:0}.nav-links{display:none;position:absolute;top:78px;inset-inline:0;background:var(--night);padding:25px 30px;border-bottom:1px solid var(--line);align-items:stretch;gap:13px}.nav-links.open{display:flex;flex-direction:column}.nav-links a{font-size:11px}.languages{padding-inline-start:12px}.hero{min-height:800px}.hero-title{font-size:clamp(73px,11vw,100px)}.hero-content{padding-top:230px}.vision{grid-template-columns:1fr;gap:55px}.vision-photos{max-width:680px}.vision-main{height:500px}.vision-copy{max-width:600px}.section{padding-block:85px}.head-row{gap:30px}.service-grid{grid-template-columns:repeat(2,1fr);gap:38px 20px}.service-card:nth-child(n){padding-top:0}.service-image{height:320px}.destination:first-child{height:535px}.destination:nth-child(n+2){height:255px}.destination-caption{inset-inline:22px}.destination-caption h3{font-size:31px}.lake{height:520px}.contact-grid{gap:40px}.film-info{flex-direction:column;align-items:flex-start;gap:0}.film-section{padding-block:85px}.moment-grid{grid-template-rows:240px 220px}}
    @media(max-width:600px){.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.hero{height:100svh;min-height:760px;max-height:1000px}.hero-content{padding-top:185px}.hero-title{font-size:clamp(69px,14vw,85px);max-width:100%;line-height:.95}.hero-copy{font-size:13px;max-width:315px}.hero-actions{gap:11px;flex-wrap:wrap;margin-top:26px}.button{font-size:9px;padding:14px 18px;gap:12px}.hero-bottom{bottom:24px}.film-teaser{padding:8px;gap:10px}.film-teaser img{width:54px;height:42px}.film-teaser span{font-size:16px}.film-teaser small{font-size:6px;letter-spacing:.05em}.film-teaser .play{display:none}.hero-location{font-size:7px;letter-spacing:.1em;max-width:120px}.brand-name{font-size:9px;letter-spacing:.1em}.brand-name small{font-size:6px;letter-spacing:.1em}.monogram{width:32px;height:37px;font-size:22px}.brand{gap:8px}.nav{gap:10px}.languages{gap:0;padding-inline-start:8px}.languages button{font-size:9px;min-width:29px}.menu-toggle{width:36px;height:36px;font-size:20px}.editorial-strip{padding-block:20px;gap:13px}.editorial-strip span{font-size:7px;letter-spacing:.1em}.editorial-strip span:last-child,.editorial-strip i:last-of-type{display:none}.display{font-size:49px}.head-row{display:block;margin-bottom:32px}.head-row .copy{margin-top:22px}.vision-photos{padding-bottom:50px}.vision-main{height:370px;width:85%}.vision-detail{height:180px;width:53%;border-width:7px}.vision-copy .display{font-size:48px}.promises{gap:24px}.service-grid{gap:35px 15px}.service-image{height:235px;margin-bottom:13px}.service-card h3{font-size:25px}.service-card p{font-size:11px}.service-index{top:12px;inset-inline-start:12px}.service-arrow{width:30px;height:30px;bottom:12px;inset-inline-end:12px}.destination-grid{grid-template-columns:1fr;gap:18px}.destination:first-child{grid-row:auto;height:430px}.destination:nth-child(n+2){height:260px}.gallery-note{align-items:flex-start;gap:15px}.gallery-note .line-link{font-size:8px;gap:10px;white-space:nowrap}.lake{height:530px}.lake-content{max-width:300px}.film-section{padding-block:65px}.film-frame{aspect-ratio:16/9}.film-footer{align-items:flex-start;gap:15px}.film-info span{font-size:21px}.film-info small{font-size:7px;letter-spacing:.04em}.sound-button{font-size:8px;padding:9px 12px;gap:7px;max-width:155px;text-align:start;letter-spacing:.03em}.moment-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px;gap:12px}.moment:first-child{grid-column:span 2;grid-row:auto}.moment:nth-child(2){grid-column:span 2}.moment-caption{font-size:8px;bottom:16px;inset-inline-start:12px}.moment:after{width:27px;height:27px;bottom:12px;inset-inline-end:12px}.manifesto{padding-block:15px 65px}.manifesto p{font-size:37px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-photo{height:170px;margin-top:28px}.inquiry{gap:19px 14px}.field label{font-size:8px}.footer-inner{align-items:flex-start;flex-direction:column;gap:20px}.footer-links{gap:20px}.whatsapp{bottom:16px;inset-inline-end:16px;width:43px;height:43px}[dir="rtl"] .hero-title{font-size:65px}[dir="rtl"] .brand-name{font-size:10px}[dir="rtl"] .service-card h3{font-size:20px}[dir="rtl"] .film-info span{font-size:16px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none;clip-path:none}.snow{display:none}}
    .form-trap{display:none!important}
    #formStatus{padding:12px 15px;border-inline-start:2px solid var(--gold);background:rgba(194,166,106,.07);color:var(--pale)}
    #formStatus.error{color:#f5c4b1;border-color:#dca78d;background:rgba(220,167,141,.06)}
    .inquiry button[aria-busy="true"]:after{content:'';width:14px;height:14px;border:1px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:inquirySpin .8s linear infinite}
    @keyframes inquirySpin{to{transform:rotate(360deg)}}
/* Scoped weather widget styles — forest #10251f and gold #c2a66a. */
.swiss-weather {
  --sw-forest: #10251f;
  --sw-gold: #c2a66a;
  --sw-paper: #f6f3ed;
  --sw-ink: #10251f;
  --sw-muted: #64716c;
  box-sizing: border-box;
  max-width: 760px;
  margin: 2.5rem auto 0;
  padding: clamp(1.1rem, 3vw, 1.6rem);
  color: var(--sw-ink);
  background: var(--sw-paper);
  border: 1px solid color-mix(in srgb, var(--sw-gold) 46%, transparent);
  border-radius: 18px;
  box-shadow: 0 14px 35px rgb(16 37 31 / 9%);
  font-family: inherit;
}

.swiss-weather *,
.swiss-weather *::before,
.swiss-weather *::after { box-sizing: border-box; }

.swiss-weather__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid rgb(16 37 31 / 12%);
}

.swiss-weather__eyebrow {
  margin: 0 0 .22rem;
  color: var(--sw-gold);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .14em;
  line-height: 1.1;
}

.swiss-weather h2 {
  margin: 0;
  color: var(--sw-forest);
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  font-weight: 700;
  line-height: 1.15;
}

.swiss-weather__refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  min-height: 34px;
  padding: .45rem .65rem;
  color: var(--sw-forest);
  background: transparent;
  border: 1px solid rgb(16 37 31 / 26%);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.swiss-weather__refresh svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.swiss-weather__refresh:hover,
.swiss-weather__refresh:focus-visible {
  color: #fff;
  background: var(--sw-forest);
  border-color: var(--sw-forest);
}

.swiss-weather__refresh:focus-visible { outline: 3px solid rgb(194 166 106 / 48%); outline-offset: 2px; }
.swiss-weather__refresh:disabled { opacity: .55; cursor: not-allowed; }

.swiss-weather__status {
  min-height: 1.2em;
  margin: .78rem 0 .7rem;
  color: var(--sw-muted);
  font-size: .76rem;
  line-height: 1.35;
}

.swiss-weather__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.swiss-weather__card {
  min-width: 0;
  min-height: 116px;
  padding: .72rem .65rem .62rem;
  background: #fff;
  border: 1px solid rgb(16 37 31 / 10%);
  border-radius: 12px;
}

.swiss-weather__city {
  display: block;
  overflow: hidden;
  color: var(--sw-forest);
  font-size: .77rem;
  font-weight: 750;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.swiss-weather__condition {
  display: flex;
  align-items: center;
  gap: .38rem;
  min-height: 31px;
  margin-top: .38rem;
  color: var(--sw-muted);
  font-size: .66rem;
  line-height: 1.1;
}

.swiss-weather__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  color: var(--sw-gold);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.swiss-weather__temperature {
  margin: .22rem 0 0;
  color: var(--sw-forest);
  font-size: 1.22rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  letter-spacing: -.03em;
  line-height: 1;
}

.swiss-weather__time {
  display: block;
  margin-top: .4rem;
  color: var(--sw-muted);
  font-size: .62rem;
  line-height: 1.2;
}

.swiss-weather__skeleton {
  background: linear-gradient(90deg, #edf0ec 25%, #f8f8f5 37%, #edf0ec 63%);
  background-size: 400% 100%;
  animation: swiss-weather-shimmer 1.35s ease infinite;
}
.swiss-weather__skeleton-line { width: 64%; height: .65rem; border-radius: 4px; }
.swiss-weather__skeleton-icon { width: 28px; height: 28px; margin-top: .55rem; border-radius: 50%; }
.swiss-weather__skeleton-temp { width: 49%; height: 1.1rem; margin-top: .55rem; border-radius: 4px; }
@keyframes swiss-weather-shimmer { to { background-position: -100% 0; } }

.swiss-weather__source {
  margin: .9rem 0 0;
  color: var(--sw-muted);
  font-size: .66rem;
  line-height: 1.35;
}
.swiss-weather__source a { color: inherit; text-decoration-color: rgb(194 166 106 / 90%); text-underline-offset: 2px; }
.swiss-weather__source a:hover { color: var(--sw-forest); }

.swiss-weather[dir="rtl"] { text-align: right; }
.swiss-weather[dir="rtl"] .swiss-weather__refresh { flex-direction: row-reverse; }
.swiss-weather[dir="rtl"] .swiss-weather__condition { flex-direction: row-reverse; }

@media (max-width: 460px) {
  .swiss-weather__grid { gap: .42rem; }
  .swiss-weather__card { min-height: 111px; padding: .62rem .48rem; }
  .swiss-weather__condition { gap: .2rem; }
  .swiss-weather__condition span { display: none; }
  .swiss-weather__refresh span { display: none; }
  .swiss-weather__refresh { width: 34px; padding: .45rem; }
}

@media (prefers-reduced-motion: reduce) { .swiss-weather__skeleton { animation: none; } }

/* Match the restrained editorial design of the surrounding contact section. */
.swiss-weather{margin:34px 0 0;border-radius:2px;box-shadow:none;padding:20px}
.swiss-weather__card{border-radius:2px;min-height:104px}
.swiss-weather h2{font-family:var(--serif);font-size:30px;font-weight:500}
.swiss-weather[dir="rtl"] h2{font-size:22px;line-height:1.5}
.swiss-weather__refresh{border-radius:2px;min-height:38px}
.swiss-weather__source a{border-bottom:1px solid #c2a66a;padding-bottom:1px}
@media(max-width:600px){.swiss-weather{padding:17px}.swiss-weather__city{font-size:11px}}

  
/* Readability updates: retain the original visual identity and breathing space. */
.footer-links{flex-wrap:wrap;justify-content:center;gap:12px 22px;line-height:1.7}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.form-note a{text-decoration:underline;text-underline-offset:3px;color:var(--pale)}
@media(max-width:900px){
 .nav-links a{font-size:14px;min-height:44px;display:flex;align-items:center}
 .languages button{min-height:44px;min-width:38px;font-size:12px}
 .menu-toggle{min-width:44px;min-height:44px}
}
@media(max-width:600px){
 body{font-size:16px;line-height:1.8}
 .wrap{width:calc(100% - 40px)}
 .nav{gap:8px}.brand{gap:8px;min-width:0;flex-shrink:1}.brand-name{font-size:10px;letter-spacing:.08em}.brand-name small{font-size:8px;letter-spacing:.08em}
 .languages{padding-inline-start:6px}.languages button{min-width:34px;font-size:11px}.menu-toggle{flex-shrink:0}
 .hero-copy,.copy{font-size:16px;line-height:1.8}.hero-copy{max-width:340px}
 .hero-content{padding-top:175px}.hero-actions{margin-top:24px;gap:12px}.hero-actions .button{min-height:48px}
 .hero{height:max(850px,100svh);min-height:850px;max-height:none}
 .hero-title{font-size:clamp(60px,15vw,76px)}
 .button{font-size:11px;padding:15px 18px;letter-spacing:.08em;min-height:48px}
 .kicker{font-size:11px;line-height:1.6;letter-spacing:.15em}
 .line-link{font-size:12px;line-height:1.6;min-height:44px;letter-spacing:.1em;gap:14px}
 .editorial-strip span{font-size:10px;letter-spacing:.08em;line-height:1.6}
 .service-grid{gap:36px 18px}.service-card p{font-size:14px;line-height:1.8}.service-card h3{font-size:28px;line-height:1.15;margin-bottom:12px}
 .promises span{font-size:11px;line-height:1.6}.gallery-note{flex-direction:column;gap:14px;font-size:13px}.gallery-note .line-link{font-size:12px;white-space:normal}
 .destination-caption small{font-size:11px;letter-spacing:.12em}.moment-caption{font-size:11px;letter-spacing:.08em;max-width:calc(100% - 56px);line-height:1.7}
 .film-info small{font-size:11px;line-height:1.6;letter-spacing:.04em}.film-footer{gap:20px;flex-wrap:wrap}.sound-button{font-size:11px;max-width:none;min-height:48px;padding:12px 15px}
 .hero-location{font-size:10px;line-height:1.6;max-width:145px}.film-teaser small{font-size:8px;line-height:1.6}.film-teaser span{font-size:17px}.scene-controls button{width:44px;height:44px}.scene-controls button:after{top:22px}
 .field label{font-size:12px;line-height:1.6;letter-spacing:.1em}.field input,.field select,.field textarea{font-size:16px;line-height:1.6;padding:14px;min-height:52px}
 .form-note{font-size:13px;line-height:1.8}.inquiry{gap:24px 15px}.contact-details{font-size:15px;gap:16px}.contact-details address{font-size:14px}.contact-copy .copy{margin-bottom:30px}
 .footer-inner{gap:24px}.footer-links{justify-content:flex-start;gap:8px 20px}.footer-links a{font-size:13px;min-height:44px}.footer small{font-size:11px;line-height:1.7}
 .swiss-weather__city{font-size:12px}.swiss-weather__status{font-size:12px;line-height:1.7}.swiss-weather__source{font-size:11px;line-height:1.7}.swiss-weather__time{font-size:10px;line-height:1.6}
 [dir="rtl"] .hero-title{font-size:clamp(48px,13vw,62px);line-height:1.35}[dir="rtl"] .brand-name{font-size:10px}[dir="rtl"] .service-card h3{font-size:23px;line-height:1.5}
}
@media(max-width:380px){
 .wrap{width:calc(100% - 32px)}.brand-name{font-size:9px}.brand-name small{font-size:7px}.monogram{width:28px;height:33px}.nav{gap:6px}.languages button{min-width:30px}
 .hero-content{padding-top:165px}.hero-title{font-size:60px}.hero-actions{flex-direction:column;align-items:flex-start}.film-teaser img{display:none}.film-teaser small{font-size:8px}
 .service-grid{grid-template-columns:1fr}.service-image{height:290px}
 .inquiry{grid-template-columns:1fr}.field{grid-column:1/-1}
}

/* Gold contact details — refined, unified phone, WhatsApp, email and address. */
.contact-details{gap:13px}
.contact-details .contact-number{display:inline-flex;align-items:center;gap:13px;max-width:100%;width:fit-content;min-height:46px;padding:3px 0 8px;border-bottom:1px solid rgba(223,194,134,.24);color:#dfc286;text-decoration:none;transition:color .2s,border-color .2s}
.contact-details .contact-number:hover{color:#f0dbaa;border-color:#dfc286}
.contact-details .contact-digits{font-family:'DM Sans',Arial,sans-serif;font-size:22px;font-weight:500;line-height:1.5;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0}
.contact-details .contact-email .contact-digits{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:normal;letter-spacing:0}
.contact-symbol{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(223,194,134,.55);border-radius:50%}
.contact-symbol svg{display:block;width:19px;height:19px}
.contact-details address{color:#dfc286;font-size:20px;font-weight:400;line-height:1.7;margin-top:12px;letter-spacing:.01em}
[dir="rtl"] .contact-details address{letter-spacing:0;line-height:1.85}
@media(max-width:600px){.contact-details{gap:12px}.contact-details .contact-number{gap:11px;min-height:44px}.contact-details .contact-digits{font-size:19px;letter-spacing:0}.contact-symbol{width:32px;height:32px;flex-basis:32px}.contact-symbol svg{width:18px;height:18px}.contact-details address{font-size:18px;line-height:1.75}}
@media(max-width:380px){.contact-details .contact-digits{font-size:18px}.contact-details .contact-number{gap:10px}}
