@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root{
  --ink:#26352d;
  --forest:#233a30;
  --forest-2:#304b3d;
  --leaf:#66785b;
  --clay:#a65338;
  --sun:#d9ad62;
  --sand:#eee4d2;
  --paper:#fbf8f0;
  --white:#fffdf8;
  --muted:#716e61;
  --line:#d9cbb4;
  --serif:'Playfair Display', Georgia, serif;
  --sans:'DM Sans', Arial, sans-serif;
  --page:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(rgba(111,84,49,.045) .65px,transparent .65px);background-size:8px 8px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--sun);outline-offset:4px}

/* Header and identity */
.site-header{height:94px;padding:0 max(4.5%,calc((100% - 1390px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:50;background:rgba(35,58,48,.98);border-bottom:1px solid rgba(226,196,139,.55);box-shadow:0 8px 26px rgba(28,37,29,.12)}
.brand{display:flex;align-items:center;flex:0 0 auto;min-width:92px}
.brand-logo{width:76px;height:84px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.55vw,24px);flex:1}
.main-nav a{font-size:10px;font-weight:700;letter-spacing:.025em;color:#f2eadb;white-space:nowrap;position:relative;padding:12px 0;transition:color .2s ease}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--sun);transition:right .2s ease}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:#e8c88f}
.main-nav a:hover:after,.main-nav a[aria-current="page"]:after{right:0}
.header-actions{display:flex;align-items:center;gap:15px;flex:0 0 auto}
.languages{display:flex;gap:8px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#f7eedf}
.languages a{opacity:.55;transition:opacity .2s,color .2s}
.languages a:hover,.languages .active{opacity:1;color:#e9c98d}
.donate{display:inline-flex;align-items:center;gap:9px;padding:13px 17px;background:var(--sun);color:#28372d;border:1px solid rgba(255,255,255,.16);font-size:10px;font-weight:800;letter-spacing:.03em;white-space:nowrap;transition:background .2s,transform .2s}
.donate:hover{background:#e8c27f;transform:translateY(-2px)}
.menu-toggle{display:none;border:1px solid rgba(234,209,164,.45);background:transparent;color:#fff5e4;width:42px;height:42px;font-size:22px;cursor:pointer}

/* Shared type and buttons */
.eyebrow{font-size:9px;line-height:1.5;letter-spacing:.2em;font-weight:800;color:var(--clay);margin:0 0 16px;text-transform:uppercase}
.eyebrow.light{color:#edcc91}
.eyebrow span{padding:0 7px}
.kicker{font:italic 18px var(--serif);color:var(--clay);margin:0 0 12px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:14px 19px;font-size:10px;font-weight:800;letter-spacing:.025em;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(30,39,31,.15)}
.button-light{background:var(--paper);color:var(--forest)}
.button-dark{background:var(--forest);color:#fff8e9}
.text-link{display:inline-flex;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid #c8b99e;font-size:10px;font-weight:800;line-height:1.5;transition:color .2s,border-color .2s}
.text-link:hover{color:var(--clay);border-color:var(--clay)}

/* Homepage hero */
.hero{min-height:660px;height:min(790px,calc(100svh - 94px));position:relative;margin:18px 2.1% 0;overflow:hidden;background:url('https://test.mangazinadirei.org/images/hero-aerial.jpg') center 48%/cover no-repeat;color:white;display:flex;align-items:center;padding:0 clamp(7%,calc((100% - 1160px)/2),12%);isolation:isolate}
.hero:before{content:"";position:absolute;inset:15px;border:1px solid rgba(239,214,165,.55);pointer-events:none;z-index:2}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,43,34,.91),rgba(34,48,37,.68) 47%,rgba(34,48,37,.08) 100%),linear-gradient(0deg,rgba(24,36,29,.34),transparent 55%)}
.hero-content{position:relative;max-width:700px;margin-top:-8px}
.hero h1{font:600 clamp(60px,8.1vw,112px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance;text-shadow:0 3px 30px rgba(0,0,0,.18)}
.hero h1 em,.intro h2 em,.section-heading h2 em,.nature h2 em,.events h2 em,.landscape-panel h2 em,.contact-banner h2 em,.page-hero h1 em{font-weight:500;color:#e8c28a}
.hero-copy{max-width:490px;font-size:13px;line-height:1.95;color:#f5f0e5;margin:0 0 31px}
.hero-note{position:absolute;right:5.5%;bottom:34px;font-size:8px;letter-spacing:.2em;color:#f1e6d1}
.visit-strip{margin:0 2.1%;padding:34px clamp(6%,calc((100% - 1160px)/2),10%);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--sand);border-bottom:3px solid var(--clay);position:relative}
.visit-strip>div{flex:1}
.visit-strip .eyebrow{margin-bottom:8px}
.visit-strip h2{font:500 26px/1.22 var(--serif);margin:0}
.visit-strip .text-link{white-space:nowrap}

/* Content sections */
.section-pad{padding:108px max(7%,calc((100% - 1180px)/2))}
.intro{display:grid;grid-template-columns:1.02fr .98fr;gap:9%;align-items:center}
.image-frame{height:490px;overflow:hidden;border:9px solid #f2e8d7;outline:1px solid #d2bd99;box-shadow:0 22px 48px rgba(43,49,36,.13);position:relative}
.image-frame:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.5);pointer-events:none}
.image-frame img,.nature>img{width:100%;height:100%;object-fit:cover}
.intro-text{max-width:510px}
.intro h2,.section-heading h2,.nature h2,.events h2,.landscape-panel h2,.contact-banner h2{font:500 clamp(36px,4.2vw,56px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 20px;text-wrap:balance}
.intro-text>p:not(.eyebrow):not(.kicker),.nature-copy>p:not(.eyebrow):not(.kicker),.events-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted);margin:0 0 26px}
.experiences{background:#eee5d5;position:relative;overflow:hidden}
.experiences:before,.gallery:before{content:"";display:block;height:8px;margin:-108px 0 72px;background:repeating-linear-gradient(135deg,rgba(166,83,56,.36) 0 1px,transparent 1px 8px)}
.section-heading{text-align:center;max-width:660px;margin:0 auto 46px}
.section-heading h2{font-size:clamp(36px,4vw,50px);margin-bottom:14px}
.section-heading>p:last-child{font-size:12px;line-height:1.8;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.experience-card{background:var(--paper);border:1px solid #dfd1b9;overflow:hidden;box-shadow:0 10px 28px rgba(45,49,36,.06);transition:transform .25s,box-shadow .25s}
.experience-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(45,49,36,.13)}
.experience-card img{width:100%;height:245px;object-fit:cover;filter:saturate(.88)}
.experience-card>div{padding:26px 25px 30px}
.experience-card span{font-size:8px;letter-spacing:.17em;color:var(--clay);text-transform:uppercase;font-weight:800}
.experience-card h3{font:500 25px/1.15 var(--serif);margin:13px 0 11px}
.experience-card p{font-size:11px;line-height:1.9;color:var(--muted);min-height:63px}
.experience-card a{display:inline-block;font-size:9px;font-weight:800;border-bottom:1px solid #c8b99e;padding-bottom:6px}
.landscape{min-height:570px;position:relative;display:flex;align-items:center;padding:78px max(8%,calc((100% - 1180px)/2));isolation:isolate}
.landscape>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,39,31,.12),rgba(25,39,31,.53));z-index:-1}
.landscape-panel{position:relative;background:var(--paper);padding:48px 46px;max-width:510px;margin-left:auto;border:1px solid #d4c09c;box-shadow:0 22px 55px rgba(21,31,24,.25)}
.landscape-panel h2{font-size:39px}
.landscape-panel>p:not(.eyebrow){font-size:11px;line-height:1.95;color:var(--muted);margin:0 0 24px}
.nature{display:grid;grid-template-columns:.82fr 1.18fr;gap:9%;align-items:center}
.nature>img{height:440px;border:8px solid #f0e5d2;outline:1px solid #d2bd99;box-shadow:0 16px 38px rgba(43,49,36,.12)}
.nature-copy{max-width:420px}
.nature h2{font-size:43px}
.gallery{background:#e9dfcd;overflow:hidden}
.gallery:before{margin:-108px 0 72px}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:210px 210px;gap:13px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;border:4px solid #faf4e8;box-shadow:0 6px 17px rgba(47,43,31,.12);transition:transform .3s,filter .3s}
.gallery-grid img:hover{transform:scale(1.015);filter:saturate(1.08)}
.gallery-grid img:first-child{grid-row:span 2}
.gallery-grid img:last-child{grid-column:span 2}
.events{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}
.events-copy{max-width:370px}
.calendar-card{background:#eee4d2;border:1px solid #d7c5a5;min-height:330px;padding:25px}
.calendar-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.17em;font-weight:800;border-bottom:1px solid #d2c0a1;padding-bottom:18px;color:var(--forest)}
.calendar-empty{text-align:center;padding:38px 10px}
.calendar-icon{font-size:32px;color:var(--clay)}
.calendar-empty h3{font:500 24px var(--serif);margin:13px 0 8px}
.calendar-empty p{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 23px}
.contact-banner{margin:0 2.1% 18px;padding:92px max(8%,calc((100% - 1180px)/2));border:1px solid rgba(231,205,157,.6);outline:1px solid rgba(231,205,157,.35);outline-offset:-9px;background:linear-gradient(90deg,rgba(34,54,43,.94),rgba(34,54,43,.74)),url('https://test.mangazinadirei.org/images/gathering-evening.jpg') center 48%/cover;color:#fff}
.contact-banner>div{max-width:640px}
.contact-banner h2{font-size:clamp(42px,5vw,58px)}
.contact-banner>div>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#e9e6d9;max-width:480px;margin:0 0 27px}

/* Inner pages */
.page-hero{min-height:430px;margin:18px 2.1% 0;padding:78px max(8%,calc((100% - 1180px)/2));background-position:center;background-size:cover;display:flex;align-items:center;color:#fff;position:relative;isolation:isolate;overflow:hidden}
.page-hero:after{content:"";position:absolute;inset:13px;border:1px solid rgba(239,214,165,.48);pointer-events:none;z-index:-1}
.page-hero>div{max-width:760px}
.page-hero h1{font:600 clamp(48px,6.1vw,78px)/1.04 var(--serif);letter-spacing:-.04em;margin:0 0 18px;text-wrap:balance}
.page-hero>div>p:last-child{font-size:13px;line-height:1.95;color:#f2eee4;max-width:650px;margin:0}
.page-content{padding-top:94px;padding-bottom:104px}
.page-intro{max-width:720px;margin:0 auto 48px;text-align:center}
.page-intro h2{font:500 clamp(36px,4vw,50px)/1.1 var(--serif);letter-spacing:-.03em;margin:0 0 15px}
.page-intro h2 em{color:var(--clay)}
.page-intro>p:last-child{font-size:12px;line-height:1.95;color:var(--muted);margin:0}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.info-card{background:#f1e8d8;border:1px solid #ddcdb2;padding:30px 29px;min-height:190px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.info-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(43,49,36,.08)}
.info-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--clay)}
.info-card>span{font-size:9px;letter-spacing:.16em;color:var(--clay);font-weight:800}
.info-card h2{font:500 25px/1.2 var(--serif);margin:14px 0 10px}
.info-card p{font-size:11px;line-height:1.95;color:var(--muted);margin:0}
.info-card .button{margin-top:18px}
.page-gallery{grid-template-rows:230px 230px 230px}

/* Footer */
.footer{background:var(--forest);color:#f4eddf;padding:58px max(7%,calc((100% - 1180px)/2)) 24px;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:5px solid var(--clay)}
.footer-main{display:grid;grid-template-columns:90px 1fr;align-items:center;column-gap:22px;max-width:480px}
.footer-brand{grid-row:span 2;align-self:center}
.footer-brand .brand-logo{width:86px;height:112px}
.footer-main>p{font:italic 19px/1.4 var(--serif);color:#e6d9c1;margin:0 0 8px}
.footer-main>a:last-child{font-size:11px;color:#e8c28a}
.footer-links{display:flex;justify-content:flex-end;gap:clamp(40px,7vw,90px)}
.footer-links div{display:flex;flex-direction:column;gap:13px}
.footer-links span{font-size:8px;letter-spacing:.18em;color:#e8c28a;margin-bottom:8px;font-weight:800}
.footer-links a{font-size:10px;color:#e9e5d9;transition:color .2s}
.footer-links a:hover{color:#e8c28a}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(236,221,190,.22);padding-top:20px;margin-top:10px;display:flex;justify-content:space-between;gap:18px;color:#c9cdbf;font-size:9px}

@media(max-width:1120px){
  .site-header{padding:0 3%;gap:15px}
  .brand-logo{width:66px;height:78px}
  .main-nav{gap:12px}
  .main-nav a{font-size:9px}
  .header-actions{gap:10px}
  .donate{padding:12px 13px}
}
@media(max-width:900px){
  .site-header{height:82px;padding:0 5%}
  .menu-toggle{display:block;order:3}
  .header-actions{margin-left:auto}
  .brand-logo{width:66px;height:74px}
  .main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--forest);padding:18px 7% 24px;box-shadow:0 15px 24px rgba(0,0,0,.2);border-top:1px solid rgba(232,194,138,.28);flex-direction:column;align-items:stretch;gap:2px}
  .main-nav.open{display:flex}
  .main-nav a{font-size:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.09)}
  .main-nav a:after{display:none}
  .hero{height:670px;min-height:570px;padding:0 7%;margin-top:12px}
  .visit-strip{padding:30px 7%;flex-wrap:wrap}
  .visit-strip>div{width:100%;flex:1 0 100%}
  .section-pad{padding:82px 7%}
  .intro{gap:6%}
  .image-frame{height:390px}
  .cards{gap:14px}
  .experience-card img{height:205px}
  .experience-card>div{padding:20px}
  .experience-card h3{font-size:22px}
  .landscape{padding:60px 7%}
  .nature{gap:6%}
  .nature>img{height:360px}
  .page-hero{min-height:390px;padding:65px 7%}
  .footer{padding-left:7%;padding-right:7%}
}
@media(max-width:640px){
  .site-header{height:74px;padding:0 4%;gap:8px}
  .brand-logo{width:55px;height:66px}
  .header-actions{gap:9px}
  .languages{gap:6px;font-size:8px}
  .donate{font-size:9px;padding:10px 11px}
  .menu-toggle{width:38px;height:38px;font-size:20px}
  .main-nav{top:74px}
  .hero{height:630px;min-height:570px;margin:9px 2% 0;padding:0 7%;background-position:58% center}
  .hero:before{inset:10px}
  .hero h1{font-size:clamp(54px,15vw,76px);letter-spacing:-.05em}
  .hero-copy{font-size:12px;line-height:1.85}
  .hero-note{font-size:7px;left:7%;right:auto;bottom:25px}
  .visit-strip{margin:0 2%;padding:27px 7%;gap:18px}
  .visit-strip h2{font-size:24px}
  .visit-strip .text-link{white-space:normal}
  .section-pad{padding:70px 7%}
  .intro,.nature,.events{grid-template-columns:1fr;gap:30px}
  .intro{padding-top:68px}
  .intro-text{order:1}
  .image-frame{height:315px;order:2}
  .intro h2,.section-heading h2,.nature h2,.events h2{font-size:38px}
  .experiences:before,.gallery:before{margin-top:-70px;margin-bottom:48px}
  .cards{grid-template-columns:1fr;gap:17px}
  .experience-card img{height:230px}
  .experience-card p{min-height:0}
  .landscape{min-height:570px;padding:250px 5% 28px;align-items:flex-end}
  .landscape-panel{padding:27px 24px;margin:0;width:100%}
  .landscape-panel h2{font-size:32px}
  .nature>img{height:280px;order:2}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:150px 150px 150px;gap:9px}
  .gallery-grid img:first-child{grid-row:span 2}
  .gallery-grid img:last-child{grid-column:span 1}
  .events{gap:24px}
  .calendar-card{padding:17px;min-height:0}
  .calendar-empty{padding:28px 6px}
  .contact-banner{margin:0 2% 12px;padding:65px 7%;background-position:60% center}
  .contact-banner h2{font-size:42px}
  .page-hero{min-height:370px;margin:10px 2% 0;padding:55px 7%}
  .page-hero:after{inset:9px}
  .page-hero h1{font-size:clamp(43px,12vw,58px)}
  .page-hero>div>p:last-child{font-size:12px}
  .page-content{padding-top:65px;padding-bottom:72px}
  .page-intro{margin-bottom:34px}
  .page-intro h2{font-size:38px}
  .info-grid{grid-template-columns:1fr;gap:13px}
  .info-card{padding:25px;min-height:0}
  .page-gallery{grid-template-rows:150px 150px 150px}
  .footer{grid-template-columns:1fr;gap:30px;padding:42px 7% 21px}
  .footer-main{grid-template-columns:75px 1fr;column-gap:16px}
  .footer-brand .brand-logo{width:72px;height:96px}
  .footer-main>p{font-size:17px}
  .footer-links{justify-content:flex-start;gap:55px}
  .footer-bottom{grid-column:auto;flex-wrap:wrap;gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ==========================================================
   MANGAZINA DI REI — PROFESSIONAL PRESENTATION LAYER
   ========================================================== */
:root{
  --ink:#1e3028; --forest:#183b30; --forest-2:#285344;
  --clay:#a65c40; --sun:#d9b574; --paper:#fbf9f4;
  --sand:#f0e9dc; --muted:#626d64; --line:#ddd4c5;
  --page:1280px;
}
html{scroll-padding-top:110px}
body{font-size:15px;line-height:1.65}
.site-header{
  height:88px;padding-inline:max(5%,calc((100% - 1440px)/2));
  background:rgba(24,59,48,.97);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(217,181,116,.45);
  box-shadow:0 6px 24px rgba(15,35,27,.12)
}
.brand-logo{width:78px;height:80px}
.main-nav{gap:clamp(12px,1.35vw,22px)}
.main-nav a{font-size:11px;letter-spacing:.015em}
.languages{font-size:10px}
.donate{padding:13px 18px;font-size:11px;border-radius:2px}
.button{font-size:11px;min-height:50px;padding:15px 21px}
.eyebrow{font-size:10px;letter-spacing:.17em}
.hero{
  min-height:650px;height:min(780px,calc(100svh - 100px));
  margin:14px 1.5% 0;border-radius:3px;
  background-position:center 48%;
}
.hero:before{inset:17px}
.hero-shade{
  background:linear-gradient(90deg,rgba(15,38,29,.91) 0%,rgba(20,44,34,.70) 49%,rgba(20,44,34,.12) 100%),
  linear-gradient(0deg,rgba(15,30,23,.30),transparent 60%)
}
.hero-content{max-width:740px}
.hero h1{font-size:clamp(64px,8vw,116px);line-height:.99}
.hero-copy{font-size:15px;max-width:530px;line-height:1.85}
.hero-note{font-size:9px}
.visit-strip{margin:0 1.5%;padding-block:38px;background:#eee7d9;border-bottom:3px solid var(--clay)}
.visit-strip h2{font-size:29px}
.section-pad{padding-top:112px;padding-bottom:112px}
.intro{gap:8%}
.image-frame{height:510px;border-width:8px}
.intro h2,.section-heading h2,.nature h2,.events h2,.landscape-panel h2,.contact-banner h2{
  line-height:1.08;letter-spacing:-.04em
}
.intro-text>p:not(.eyebrow):not(.kicker),.nature-copy>p:not(.eyebrow):not(.kicker),.events-copy>p:not(.eyebrow){
  font-size:14px;line-height:1.9;color:#5e6961
}
.kicker{font-size:20px}
.experiences{background:#f0e9dc}
.section-heading{margin-bottom:52px}
.section-heading>p:last-child{font-size:14px}
.cards{gap:24px}
.experience-card{border:1px solid #ded3c0;box-shadow:0 12px 30px rgba(33,48,39,.07);border-radius:3px}
.experience-card img{height:255px}
.experience-card>div{padding:28px 27px 32px}
.experience-card span{font-size:9px}
.experience-card h3{font-size:27px}
.experience-card p{font-size:13px;line-height:1.8;min-height:72px;color:#626d64}
.experience-card a{font-size:11px}
.landscape{min-height:610px}
.landscape-panel{padding:52px 50px;border-radius:2px}
.landscape-panel h2{font-size:42px}
.landscape-panel>p:not(.eyebrow){font-size:13px;line-height:1.9}
.nature{gap:8%}
.nature>img{height:470px}
.nature-copy{max-width:460px}
.nature h2{font-size:48px}
.gallery{background:#eee7da}
.gallery-grid{gap:15px;grid-template-rows:230px 230px}
.gallery-grid img{border-width:5px}
.events{gap:9%}
.events-copy{max-width:420px}
.calendar-card{border-radius:3px;background:#f1eadf;box-shadow:0 12px 30px rgba(33,48,39,.06)}
.calendar-empty h3{font-size:27px}
.calendar-empty p{font-size:13px}
.contact-banner{margin:0 1.5% 14px;padding-top:100px;padding-bottom:100px;border-radius:2px}
.contact-banner>div>p:not(.eyebrow){font-size:14px;line-height:1.9}
.page-hero{min-height:450px;margin:14px 1.5% 0;border-radius:3px}
.page-hero h1{font-size:clamp(52px,6vw,82px)}
.page-hero>div>p:last-child{font-size:15px;line-height:1.85}
.page-content{padding-top:100px;padding-bottom:112px}
.page-intro{margin-bottom:55px}
.page-intro>p:last-child{font-size:14px;line-height:1.9}
.info-grid{gap:20px}
.info-card{padding:32px;min-height:205px;border-radius:3px;background:#f2ecdf}
.info-card h2{font-size:27px}
.info-card p{font-size:13px;line-height:1.85}
.footer{padding-top:66px;border-top-width:4px}
.footer-main>p{font-size:20px}
.footer-main>a:last-child,.footer-links a{font-size:12px}
.footer-links span{font-size:9px}
.footer-bottom{font-size:10px}
a,button{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
a:focus-visible,button:focus-visible{outline:3px solid #e4bd76;outline-offset:4px}
.skip-link{
  position:fixed;left:16px;top:12px;z-index:1000;
  padding:12px 16px;background:#fff;color:#183b30;
  transform:translateY(-160%);box-shadow:0 5px 20px #0002
}
.skip-link:focus{transform:translateY(0)}
/* Cleaner typography and legibility across all translated pages */
.page-content p,.info-card p{max-width:75ch}
@media(max-width:1120px){
  .site-header{padding-inline:3%}
  .main-nav{gap:10px}
  .main-nav a{font-size:10px}
}
@media(max-width:900px){
  .site-header{height:82px;padding-inline:5%}
  .main-nav{top:82px}
  .section-pad{padding-top:86px;padding-bottom:86px}
  .hero{height:650px;min-height:560px}
  .intro{gap:6%}
  .experience-card img{height:220px}
  .page-hero{min-height:400px}
}
@media(max-width:640px){
  body{font-size:14px}
  .site-header{height:74px;padding-inline:4%}
  .main-nav{top:74px}
  .hero{height:620px;min-height:550px;margin:8px 2% 0;background-position:59% center}
  .hero h1{font-size:clamp(54px,14vw,76px)}
  .hero-copy{font-size:13px}
  .visit-strip{margin-inline:2%;padding-block:28px}
  .section-pad{padding:68px 7%}
  .intro h2,.section-heading h2,.nature h2,.events h2{font-size:38px}
  .image-frame{height:310px}
  .experience-card img{height:235px}
  .experience-card h3{font-size:25px}
  .experience-card p{font-size:13px}
  .landscape{min-height:560px}
  .landscape-panel{padding:28px 24px}
  .landscape-panel h2{font-size:33px}
  .nature>img{height:290px}
  .gallery-grid{grid-template-rows:155px 155px 155px}
  .contact-banner{padding:66px 7%}
  .page-hero{min-height:370px;padding:54px 7%;margin:8px 2% 0}
  .page-hero h1{font-size:clamp(42px,11vw,58px)}
  .page-content{padding-top:66px;padding-bottom:74px}
  .info-card{padding:25px}
  .footer{padding-top:44px}
}
@media(min-width:1500px){
  .hero,.page-hero{max-width:1680px;margin-left:auto;margin-right:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important
  }
}

/* Additional visitor conversion and engagement features */
.visit-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 auto 70px;max-width:1160px}
.visit-tool{background:#f0e9dc;border:1px solid #ded2bf;padding:30px;min-height:245px;display:flex;flex-direction:column;align-items:flex-start}
.tool-number{font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--clay)}
.visit-tool h3{font:500 27px/1.15 var(--serif);margin:17px 0 9px}
.visit-tool p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.visit-tool .button,.visit-tool .text-link{margin-top:auto}
.visit-request{max-width:1160px;margin:0 auto;background:var(--forest);color:#fff;padding:clamp(28px,5vw,58px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start;box-shadow:0 20px 45px rgba(25,43,33,.13)}
.visit-request h2{font:500 clamp(34px,4vw,48px)/1.1 var(--serif);margin:0 0 18px}
.visit-request h2 em{color:#e8c28a}
.visit-request>div>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#e1e8df}
.request-form{display:grid;gap:14px}
.request-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#f6eddf}
.request-form input,.request-form select,.request-form textarea{width:100%;font:inherit;font-size:13px;color:#24372e;background:#fffdf8;border:1px solid #d8cbb8;padding:12px 13px;border-radius:2px}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:3px solid #d9b574;outline-offset:2px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:10px;line-height:1.6;color:#d9e0d8;margin:0}
.request-form .button{justify-self:start;border:0;cursor:pointer}
@media(max-width:760px){.visit-tools{grid-template-columns:1fr;margin-bottom:42px}.visit-tool{min-height:unset}.visit-request{grid-template-columns:1fr;gap:26px}.form-row{grid-template-columns:1fr}}

/* Contact page: verified visitor details and clear contact pathways */
.contact-info-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1120px;margin:0 auto}
.contact-info-card{padding:clamp(25px,4vw,42px);background:#f1eadf;border:1px solid #ddd0bb;box-shadow:0 12px 32px rgba(31,47,37,.06);min-width:0}
.contact-info-card h2{font:500 clamp(30px,3.4vw,40px)/1.12 var(--serif);letter-spacing:-.03em;margin:0 0 28px;color:var(--ink)}
.contact-info-card>.eyebrow{margin-bottom:14px}
.hours-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #d8cbb7;font-size:13px}
.hours-row strong{font-weight:700}
.hours-row>span{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;color:var(--forest)}
.hours-row .closed-label{color:var(--clay)}
.tour-note{padding:22px 0 13px}
.tour-note strong,.contact-direct>strong{font:500 22px var(--serif);color:var(--forest)}
.tour-note p,.contact-direct p{font-size:13px;line-height:1.8;color:var(--muted);margin:6px 0 0}
.schedule-note{font-size:12px;line-height:1.8;color:#6b7169;border-left:3px solid var(--sun);padding:2px 0 2px 14px;margin:12px 0 0}
.contact-method{display:grid;grid-template-columns:78px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:16px 0;border-bottom:1px solid #d8cbb7}
.contact-method>span{font-size:12px;color:var(--muted)}
.contact-method strong{font-size:13px;line-height:1.65;color:var(--forest);overflow-wrap:anywhere}
.contact-method b{font-size:14px;color:var(--clay);font-weight:600}
.contact-method:hover strong{color:var(--clay)}
.contact-direct{padding-top:24px}
.contact-direct .button{margin-top:17px}
@media(max-width:760px){.contact-info-layout{grid-template-columns:1fr;gap:16px}.contact-info-card{padding:27px 23px}.contact-method{grid-template-columns:65px minmax(0,1fr) 16px}}
