:root{
  --black:#0b0b0b;
  --black-soft:#171717;
  --gold:#b88528;
  --gold-2:#d8b062;
  --gold-soft:#f3ead8;
  --text:#151515;
  --muted:#62676d;
  --line:#e8e5df;
  --paper:#ffffff;
  --paper-soft:#f8f8f6;
  --header-h:96px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;background:#fff;color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}

.site_header{
  height:var(--header-h);
  display:grid;
  grid-template-columns:minmax(310px,420px) 1fr 190px;
  align-items:center;
  gap:24px;
  padding:0 48px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(16,16,16,.07);
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(18px);
  transition:box-shadow .25s ease,background .25s ease;
}
.site_header.scrolled{box-shadow:0 12px 35px rgba(0,0,0,.07);background:rgba(255,255,255,.985)}
.brand{display:flex;align-items:center;gap:18px;width:max-content;min-width:0}
.brand_icon{width:94px;height:84px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden}
.brand_icon img{width:94px;height:94px;object-fit:cover;transform:scale(1.12)}
.brand_word{width:min(265px,23vw);height:auto;object-fit:contain}
.main_nav{display:flex;align-items:center;justify-content:center;gap:32px;font-size:15px;white-space:nowrap}
.main_nav a{position:relative;padding:38px 0 20px;color:#252525}
.main_nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:12px;height:2px;background:var(--gold);transition:left .25s ease,right .25s ease}
.main_nav a:hover:after,.main_nav a.active:after{left:0;right:0}
.main_nav a.active{font-weight:800;color:#080808}
.header_actions{display:flex;justify-content:flex-end}
.test_button{height:50px;min-width:174px;padding:0 20px 0 23px;border-radius:13px;background:#0e0e0e;color:white;display:flex;align-items:center;justify-content:space-between;gap:17px;font-size:14px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease}
.test_button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.test_button_arrow{font-size:23px;color:var(--gold-2);font-weight:400;line-height:1}
.menu_button{display:none}

.screen_section{min-height:calc(100svh - var(--header-h));position:relative;overflow:hidden}
.section_shell{width:min(1480px,100%);min-height:inherit;margin:0 auto;padding:64px 54px;position:relative;z-index:2}
.eyebrow{margin:0 0 18px;color:#6f747b;letter-spacing:.31em;font-size:13px;font-weight:600}
.eyebrow.light{color:#d2c9b7}

/* HERO */
.hero{display:grid;grid-template-columns:minmax(480px,44%) minmax(0,56%);background:#fff}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 7% 78%,transparent 0 54px,rgba(184,133,40,.11) 55px 56px,transparent 57px),
  linear-gradient(135deg,transparent 0 12%,rgba(15,15,15,.025) 12.1% 12.3%,transparent 12.4% 100%),
  linear-gradient(45deg,transparent 0 84%,rgba(184,133,40,.08) 84.1% 84.25%,transparent 84.4% 100%)}
.hero_copy{display:flex;flex-direction:column;justify-content:center;padding:56px 6vw 60px max(48px,5vw);position:relative;z-index:3;background:linear-gradient(90deg,#fff 0%,#fff 86%,rgba(255,255,255,.92) 100%)}
.hero h1{font-size:clamp(48px,4.45vw,78px);line-height:1.01;letter-spacing:-.052em;margin:0 0 26px;font-weight:850;max-width:850px}
.hero h1 strong{color:var(--gold);font-weight:850}
.hero_text{font-size:clamp(17px,1.16vw,21px);line-height:1.62;color:#383838;margin:0;max-width:760px}
.hero_buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.btn{min-height:54px;padding:0 28px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-size:16px}
.btn_black{background:#0c0c0c;color:#fff;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.btn_black span{color:var(--gold-2);font-size:24px;font-weight:400}
.btn_white{background:#fff;border:1px solid #151515;font-weight:600}
.hero_values{display:flex;align-items:center;gap:22px;margin-top:42px;color:#747a81;font-size:12px;letter-spacing:.29em;font-weight:600}
.hero_values i{width:4px;height:4px;background:#171717;border-radius:50%}
.hero_visual{height:100%;min-height:inherit;overflow:hidden;position:relative;background:#fff}
.hero_visual:after{content:"";position:absolute;inset:0;box-shadow:inset 40px 0 55px -55px rgba(0,0,0,.25);pointer-events:none}
.hero_visual img{width:100%;height:100%;object-fit:cover;object-position:center}

/* REVEAL */
.reveal{opacity:0;transform:translateY(56px);transition:opacity .82s cubic-bezier(.22,.61,.36,1),transform .82s cubic-bezier(.22,.61,.36,1)}
.reveal.visible{opacity:1;transform:none}
.reveal_child{opacity:0;transform:translateY(30px)}
.reveal.visible .reveal_child{opacity:1;transform:none;transition:opacity .72s ease,transform .72s ease}
.reveal.visible .reveal_child:nth-child(2){transition-delay:.12s}
.reveal.visible .reveal_child:nth-child(3){transition-delay:.22s}
.reveal.visible .reveal_child:nth-child(4){transition-delay:.32s}

/* PRODUCTS */
.products{background:#fff;border-top:1px solid #f0eee9}
.products:before,.about_section:before,.access_section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.7;background:
  radial-gradient(circle at 8% 18%,transparent 0 58px,rgba(184,133,40,.11) 59px 60px,transparent 61px),
  radial-gradient(circle at 92% 78%,transparent 0 86px,rgba(20,20,20,.06) 87px 88px,transparent 89px),
  linear-gradient(133deg,transparent 0 21%,rgba(184,133,40,.07) 21.1% 21.25%,transparent 21.35% 100%),
  linear-gradient(47deg,transparent 0 76%,rgba(15,15,15,.045) 76.1% 76.22%,transparent 76.3% 100%)}
.products .section_shell{display:flex;flex-direction:column;justify-content:center;gap:38px}
.section_heading{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr);gap:80px;align-items:end}
.section_heading h2,.method_intro h2,.about_heading h2,.access_copy h2{font-size:clamp(45px,4.25vw,72px);line-height:1.02;letter-spacing:-.047em;margin:0;font-weight:500}
.section_heading h2 strong,.about_heading h2 strong,.access_copy h2 strong{color:var(--gold);font-weight:800}
.section_heading>p{font-size:18px;line-height:1.62;color:#555;margin:0 0 2px;max-width:720px}
.product_cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product_card{height:410px;display:grid;grid-template-columns:minmax(0,1fr) 39%;overflow:hidden;border:1px solid #eae6df;border-radius:16px;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.product_card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(0,0,0,.1);border-color:#d8c7a8}
.product_content{padding:24px 19px 19px 25px;position:relative;z-index:3}
.product_icon_stack{height:84px;width:118px;position:relative;margin-bottom:12px}
.category_icon{display:grid;place-items:center;width:72px;height:72px;background:#fff;border:1px solid #e6e2dc;border-radius:17px;box-shadow:0 5px 16px rgba(0,0,0,.08)}
.category_icon img{width:52px;height:52px}
.app_badge{position:absolute;left:54px;top:43px;width:50px;height:50px;border-radius:50%;background:#fff;border:1px solid #d8d2c8;box-shadow:0 5px 14px rgba(0,0,0,.13);display:grid;place-items:center;padding:5px}
.app_badge img{max-width:100%;max-height:100%;object-fit:contain}
.product_card h3{font-size:27px;line-height:1;margin:0 0 4px;letter-spacing:.015em}
.product_subtitle{font-size:15px;color:#595959;margin:0}
.short_rule{display:block;width:36px;height:1px;background:#666;margin:12px 0 13px}
.product_text{font-size:14px;line-height:1.5;margin:0;color:#353535;max-width:260px}
.small_button{display:inline-flex;height:39px;min-width:132px;padding:0 17px;border:1px solid #d2a052;border-radius:9px;align-items:center;justify-content:center;gap:16px;margin-top:14px;background:#fff;font-size:12px;font-weight:650;color:#171717}
.small_button span{color:#c28928;font-size:18px}
.small_button.disabled{cursor:default}
.product_tags{position:absolute;bottom:16px;left:25px;margin:0;color:#7d8288;font-size:10px;letter-spacing:.17em;white-space:nowrap}
.product_tags b{color:#111;margin:0 5px}
.product_photo{position:relative;overflow:hidden;background:#eee}
.product_photo:before{content:"";position:absolute;z-index:2;left:-56px;top:-5%;width:102px;height:116%;background:#fff;transform:rotate(-13deg);transform-origin:top right}
.product_photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product_card:hover .product_photo img{transform:scale(1.035)}
.round_arrow{position:absolute;z-index:3;right:15px;bottom:48px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d2a052;border-radius:50%;background:#fff;color:#ad751b;font-size:21px}

/* METHOD */
.method_section{background:linear-gradient(115deg,#0d0d0d,#171717 63%,#1d1913);color:#fff}
.method_section:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,transparent 0 23%,rgba(216,176,98,.09) 23.05% 23.15%,transparent 23.2% 100%),
  linear-gradient(0deg,transparent 0 69%,rgba(255,255,255,.04) 69.05% 69.15%,transparent 69.2% 100%),
  radial-gradient(circle at 87% 20%,transparent 0 128px,rgba(216,176,98,.18) 129px 130px,transparent 131px),
  radial-gradient(circle at 6% 86%,transparent 0 176px,rgba(216,176,98,.11) 177px 178px,transparent 179px)}
.method_geometry{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.method_geometry span{position:absolute;border:1px solid rgba(216,176,98,.24)}
.method_geometry span:nth-child(1){width:240px;height:240px;right:7%;top:10%;transform:rotate(45deg)}
.method_geometry span:nth-child(2){width:15px;height:15px;border-radius:50%;right:22%;top:28%;background:var(--gold-2);box-shadow:0 0 28px rgba(216,176,98,.32)}
.method_geometry span:nth-child(3){width:420px;height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(216,176,98,.55),transparent);left:4%;bottom:13%;transform:rotate(-28deg)}
.method_geometry span:nth-child(4){width:110px;height:110px;border-radius:50%;left:12%;top:14%}
.method_layout{display:grid;grid-template-columns:.82fr 1.18fr;grid-template-rows:auto auto;gap:42px 72px;align-content:center}
.method_intro h2{font-weight:750;max-width:620px}
.method_intro>p:last-child{font-size:18px;line-height:1.68;color:#c9c9c9;max-width:630px;margin:28px 0 0}
.method_steps{display:grid;gap:13px}
.method_steps article{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:21px 22px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.035);backdrop-filter:blur(6px);transition:border-color .25s ease,background .25s ease,transform .25s ease}
.method_steps article:hover{border-color:rgba(216,176,98,.5);background:rgba(255,255,255,.055);transform:translateX(5px)}
.method_steps article>span{color:var(--gold-2);font-size:14px;letter-spacing:.14em;padding-top:4px}
.method_steps h3{font-size:21px;margin:0 0 6px}
.method_steps p{font-size:15px;line-height:1.52;color:#bcbcbc;margin:0}
.method_pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(216,176,98,.28);border-bottom:1px solid rgba(216,176,98,.2)}
.method_pillars div{min-height:112px;display:flex;align-items:center;justify-content:center;gap:19px;border-right:1px solid rgba(216,176,98,.2)}
.method_pillars div:last-child{border-right:0}
.method_pillars b{font-size:31px;color:var(--gold-2);font-weight:400}
.method_pillars span{font-size:12px;line-height:1.55;letter-spacing:.18em;color:#e5e5e5}

/* ABOUT */
.about_section{background:#fff}
.about_layout{display:grid;grid-template-columns:.72fr 1.28fr;grid-template-rows:auto auto;gap:38px 78px;align-content:center}
.about_heading{padding-right:20px}
.about_heading>p:last-child{font-size:19px;line-height:1.6;color:#555;margin:28px 0 0;max-width:550px}
.about_story{display:grid;gap:17px;padding:8px 0 0 48px;border-left:1px solid #ded9d0}
.about_story p{font-size:17px;line-height:1.65;color:#424242;margin:0}
.about_values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.about_values article{min-height:180px;padding:25px;border:1px solid #e7e3dd;border-radius:14px;background:rgba(255,255,255,.92);position:relative;overflow:hidden}
.about_values article:after{content:"";position:absolute;width:72px;height:72px;border:1px solid rgba(184,133,40,.22);border-radius:50%;right:-22px;top:-22px}
.about_values span{color:var(--gold);font-size:13px;letter-spacing:.16em}
.about_values h3{font-size:23px;margin:19px 0 9px}
.about_values p{font-size:15px;line-height:1.55;color:#5e5e5e;margin:0}

/* ACCESS */
.access_section{background:linear-gradient(180deg,#fafafa,#f4f3f0)}
.access_section:before{opacity:.5}
.access_layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}
.access_copy>p:not(.eyebrow){font-size:18px;line-height:1.67;color:#555;max-width:690px;margin:28px 0 0}
.credential_note{display:grid;grid-template-columns:68px 1fr;gap:20px;margin-top:34px;padding:20px;border:1px solid #dfd8ca;border-radius:14px;background:#fff;align-items:center}
.credential_icon{width:68px;height:68px;display:grid;place-items:center;color:var(--gold);background:transparent}
.credential_icon svg{width:62px;height:62px;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 9px rgba(171,123,43,.16))}
.credential_icon svg circle:last-child{fill:var(--gold-2);stroke:none}
.credential_note p{font-size:15px;line-height:1.55;color:#565656;margin:0}
.credential_note strong{color:#111}
.access_grid{display:grid;gap:16px}
.access_card{min-height:142px;padding:24px 26px;border:1px solid #dfdcd6;background:#fff;border-radius:17px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;box-shadow:0 8px 26px rgba(0,0,0,.04);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.access_card>div{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center}
.access_app_icon{grid-row:1/3;width:58px;height:58px;object-fit:contain;object-position:center;border-radius:13px;background:#fff;padding:5px;box-shadow:0 5px 16px rgba(0,0,0,.08);border:1px solid #ebe7df}
.access_card strong{font-size:27px;line-height:1}
.access_card small{font-size:13px;color:#777;margin-top:6px}
.access_card>span{grid-column:1;color:#777;font-size:14px;margin-top:15px}
.access_card>b{grid-row:1/3;grid-column:2;font-size:30px;color:var(--gold);font-weight:400}
.access_card.enabled:hover{border-color:#c89c4b;transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}

/* FOOTER */
footer{background:#0d0d0d;color:#fff;padding:54px 54px 24px;position:relative;overflow:hidden}
footer:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(216,176,98,.2);border-radius:50%;right:-130px;top:-190px}
.footer_main{width:min(1480px,100%);margin:0 auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:64px;position:relative;z-index:1}
.footer_brand{max-width:430px}
.footer_logo{display:flex;align-items:center;gap:16px}
.footer_logo>img:first-child{width:76px;height:76px;object-fit:cover;transform:scale(1.08)}
.footer_word{width:220px;height:auto}
.footer_brand>p{font-size:15px;line-height:1.6;color:#a9a9a9;margin:22px 0}
.footer_brand>a{display:inline-flex;align-items:center;gap:12px;color:var(--gold-2);font-size:16px;font-weight:700}
.footer_column{display:flex;flex-direction:column;gap:11px}
.footer_column h3{font-size:13px;letter-spacing:.2em;color:#d2b371;margin:7px 0 10px;text-transform:uppercase}
.footer_column a,.footer_column span,.footer_column p{font-size:14px;line-height:1.5;color:#bdbdbd;margin:0}
.footer_column a:hover{color:#fff}
.footer_contact>a{color:var(--gold-2);font-weight:700}
.footer_bottom{width:min(1480px,100%);margin:42px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:30px;color:#858585;font-size:12px;letter-spacing:.06em;position:relative;z-index:1}
.footer_bottom p{margin:0}

@media(max-width:1320px){
  .site_header{grid-template-columns:minmax(280px,360px) 1fr 165px;padding:0 28px;gap:16px}
  .brand_icon{width:82px;height:76px}.brand_icon img{width:84px;height:84px}
  .brand_word{width:230px}
  .main_nav{gap:22px;font-size:14px}
  .test_button{min-width:155px;padding:0 15px}
  .section_shell{padding-left:36px;padding-right:36px}
  .product_card{grid-template-columns:minmax(0,1fr) 36%;height:425px}
  .product_content{padding-left:20px}.product_tags{left:20px;font-size:9px;letter-spacing:.12em}
  .method_layout,.access_layout{column-gap:48px}
}

@media(max-width:1080px){
  :root{--header-h:82px}
  .site_header{grid-template-columns:auto 1fr auto;height:var(--header-h);padding:0 20px}
  .brand_icon{width:70px;height:66px}.brand_icon img{width:74px;height:74px}
  .brand_word{width:205px}
  .main_nav{display:none;position:absolute;left:0;right:0;top:var(--header-h);background:#fff;padding:14px 24px 22px;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid #ddd;box-shadow:0 16px 26px rgba(0,0,0,.08)}
  .main_nav.open{display:flex}
  .main_nav a{width:100%;padding:14px 0;font-size:16px}.main_nav a:after{display:none}
  .header_actions{margin-left:auto;margin-right:10px}
  .test_button{height:44px;min-width:150px}
  .menu_button{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;gap:6px;align-items:center;justify-content:center;cursor:pointer}
  .menu_button span{width:24px;height:2px;background:#111}
  .hero{grid-template-columns:50% 50%}
  .hero_copy{padding:44px 28px 44px 34px}
  .hero h1{font-size:clamp(42px,5.4vw,62px)}
  .hero_values{gap:12px;letter-spacing:.17em}
  .section_heading{grid-template-columns:1fr;gap:20px}.section_heading>p{max-width:850px}
  .product_cards{grid-template-columns:1fr;max-width:900px;width:100%;margin:0 auto}
  .product_card{height:320px;grid-template-columns:1fr 34%}
  .product_text{max-width:420px}.product_tags{font-size:10px;letter-spacing:.16em}
  .method_layout,.about_layout,.access_layout{grid-template-columns:1fr;gap:38px}
  .method_intro>p:last-child{max-width:900px}.method_steps{grid-template-columns:1fr 1fr}.method_pillars{grid-column:auto}
  .about_story{padding-left:0;border-left:0}.about_values{grid-column:auto;grid-template-columns:1fr 1fr}
  .access_grid{grid-template-columns:1fr 1fr 1fr;gap:12px}.access_card{min-height:175px}.access_card>div{grid-template-columns:56px 1fr;column-gap:12px}.access_app_icon{width:50px;height:50px;grid-row:1/3}.access_card small{font-size:12px}
  .footer_main{grid-template-columns:1.4fr repeat(3,1fr);gap:34px}
}

@media(max-width:760px){
  :root{--header-h:76px}
  .site_header{padding:0 13px;grid-template-columns:auto 1fr auto;gap:8px}
  .brand{gap:8px}.brand_icon{width:60px;height:58px}.brand_icon img{width:65px;height:65px}.brand_word{width:145px}
  .header_actions{display:none}
  .screen_section{min-height:calc(100svh - var(--header-h))}
  .section_shell{padding:58px 20px}
  .hero{grid-template-columns:1fr;grid-template-rows:auto minmax(300px,42svh);min-height:calc(100svh - var(--header-h))}
  .hero_copy{padding:48px 22px 34px;background:#fff}
  .hero h1{font-size:clamp(44px,13.4vw,62px)}
  .hero_text{font-size:17px;line-height:1.58}
  .hero_buttons{margin-top:28px}.btn{width:100%;min-height:52px}
  .hero_values{display:none}
  .hero_visual{min-height:0;height:100%}.hero_visual img{object-position:center}
  .products .section_shell{gap:30px}
  .section_heading h2,.method_intro h2,.about_heading h2,.access_copy h2{font-size:clamp(41px,11vw,56px)}
  .section_heading>p,.method_intro>p:last-child,.access_copy>p:not(.eyebrow){font-size:17px}
  .product_card{height:auto;min-height:540px;grid-template-columns:1fr;grid-template-rows:auto 210px}
  .product_content{padding:22px 22px 58px}.product_photo{grid-row:2}.product_photo:before{display:none}.round_arrow{bottom:16px}.product_text{font-size:15px;max-width:none}.product_tags{bottom:20px;white-space:normal;font-size:9px}
  .method_steps{grid-template-columns:1fr}.method_steps article{grid-template-columns:48px 1fr}.method_pillars{grid-template-columns:1fr 1fr}.method_pillars div:nth-child(2){border-right:0}.method_pillars div:nth-child(-n+2){border-bottom:1px solid rgba(216,176,98,.2)}
  .about_values{grid-template-columns:1fr}.about_values article{min-height:auto}.about_story p{font-size:16px}
  .credential_note{grid-template-columns:60px 1fr;gap:14px}.credential_icon{width:60px;height:60px}.credential_icon svg{width:56px;height:56px}
  .access_grid{grid-template-columns:1fr}.access_card{min-height:138px}.access_card>div{grid-template-columns:58px 1fr}.access_app_icon{width:52px;height:52px}.access_card small{font-size:13px}
  footer{padding:46px 22px 22px}.footer_main{grid-template-columns:1fr 1fr;gap:38px 24px}.footer_brand{grid-column:1/-1}.footer_logo>img:first-child{width:68px;height:68px}.footer_word{width:190px}.footer_bottom{flex-direction:column;gap:8px;margin-top:32px}
}

@media(max-width:480px){
  .brand_word{width:128px}.brand_icon{width:54px}.brand_icon img{width:60px;height:60px}
  .hero_copy{padding-left:18px;padding-right:18px}.hero h1{font-size:43px}.hero_visual{min-height:300px}
  .section_shell{padding-left:16px;padding-right:16px}
  .product_card{min-height:560px}.product_tags{font-size:8.7px;letter-spacing:.09em}
  .method_pillars{grid-template-columns:1fr}.method_pillars div{border-right:0;border-bottom:1px solid rgba(216,176,98,.2)}.method_pillars div:last-child{border-bottom:0}
  .footer_main{grid-template-columns:1fr}.footer_brand{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal,.reveal_child{opacity:1!important;transform:none!important}
}

/* Refinements: centered navigation, clean brand icon and progressive section navigation */
:root{--section-nav-h:var(--header-h)}

.site_header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-left:42px;
  padding-right:42px;
  position:sticky;
}
.brand{width:68px;flex:0 0 68px;gap:0}
.brand_icon{
  width:64px;
  height:64px;
  border:0;
  border-radius:50%;
  background:#fff;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.brand_icon img{
  width:72px;
  height:72px;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transform:none;
  clip-path:circle(47% at 50% 50%);
}
.main_nav{
  position:absolute;
  left:50%;
  top:0;
  height:100%;
  transform:translateX(-50%);
  z-index:2;
}
.header_actions{margin-left:auto;position:relative;z-index:3}
.test_button{min-width:190px;padding:0 18px 0 22px}
.test_button_arrow{
  width:34px;
  height:18px;
  display:block;
  position:relative;
  flex:0 0 34px;
  color:var(--gold-2);
}
.test_button_arrow:before{
  content:"";
  position:absolute;
  left:1px;
  right:2px;
  top:50%;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transform:translateY(-50%);
}
.test_button_arrow:after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  right:2px;
  top:50%;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}

.has_section_next{padding-bottom:var(--section-nav-h)}
.has_section_next .section_shell{min-height:calc(100svh - var(--header-h) - var(--section-nav-h))}
.hero.has_section_next{min-height:calc(100svh - var(--header-h))}
.hero.has_section_next .hero_copy,
.hero.has_section_next .hero_visual{min-height:calc(100svh - var(--header-h) - var(--section-nav-h))}
.hero_visual{display:grid;place-items:center}
.hero_visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:clamp(18px,2.4vw,40px);
}

.section_next{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--section-nav-h);
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:#fff;
  color:#171717;
  border-top:1px solid #ece9e3;
  border-bottom:1px solid #ece9e3;
  box-shadow:0 -8px 24px rgba(0,0,0,.025);
  transition:opacity .36s ease,transform .36s ease,visibility .36s ease;
}
.section_next span{
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.section_next i{
  width:18px;
  height:30px;
  position:relative;
  display:block;
  animation:sectionArrow 1.55s ease-in-out infinite;
}
.section_next i:before{
  content:"";
  position:absolute;
  top:1px;
  left:50%;
  width:2px;
  height:24px;
  background:#111;
  border-radius:2px;
  transform:translateX(-50%);
}
.section_next i:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:10px;
  height:10px;
  border-right:2px solid #111;
  border-bottom:2px solid #111;
  transform:translateX(-50%) rotate(45deg);
}
.section_next:hover span{color:#8d651d}
.section_next.dismissed{opacity:0;visibility:hidden;transform:translateY(18px);pointer-events:none}
@keyframes sectionArrow{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}

.footer_logo{gap:18px}
.footer_symbol{
  width:82px;
  height:82px;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,255,255,.32));
}
.footer_word{
  width:230px;
  height:auto;
  background:transparent;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.92)) drop-shadow(0 0 6px rgba(255,255,255,.24));
}

@media(max-width:1320px){
  .site_header{padding-left:28px;padding-right:28px}
  .brand{width:62px;flex-basis:62px}
  .brand_icon{width:60px;height:60px}
  .brand_icon img{width:68px;height:68px}
  .test_button{min-width:172px}
}

@media(max-width:1080px){
  .site_header{display:flex;padding:0 20px}
  .brand{width:58px;flex-basis:58px}
  .brand_icon{width:56px;height:56px}
  .brand_icon img{width:64px;height:64px}
  .main_nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:var(--header-h);
    height:auto;
    transform:none;
  }
  .main_nav.open{display:flex}
  .header_actions{order:2;margin-left:auto;margin-right:0}
  .menu_button{order:3;margin-left:6px}
  .test_button{min-width:166px}
  .hero_visual img{padding:18px}
}

@media(max-width:760px){
  .site_header{padding:0 14px}
  .brand{width:54px;flex-basis:54px}
  .brand_icon{width:52px;height:52px}
  .brand_icon img{width:60px;height:60px}
  .menu_button{margin-left:auto}
  .has_section_next .section_shell{min-height:auto}
  .hero.has_section_next .hero_copy{min-height:auto}
  .hero.has_section_next .hero_visual{min-height:300px}
  .hero_visual img{padding:10px 18px 16px}
  .section_next{gap:14px;padding:0 18px;text-align:center}
  .section_next span{font-size:11px;letter-spacing:.14em}
  .section_next i{height:26px}
  .section_next i:before{height:20px}
  .footer_symbol{width:72px;height:72px}
  .footer_word{width:200px}
}

@media(max-width:480px){
  .brand{width:50px;flex-basis:50px}
  .brand_icon{width:48px;height:48px}
  .brand_icon img{width:56px;height:56px}
  .section_next span{font-size:10px;letter-spacing:.1em}
  .footer_logo{gap:12px}
  .footer_symbol{width:64px;height:64px}
  .footer_word{width:min(190px,58vw)}
}

@media(prefers-reduced-motion:reduce){
  .section_next i{animation:none!important}
}

@media(min-width:1081px){
  .hero{grid-template-columns:minmax(480px,49%) minmax(0,51%)}
}

/* Final visual refinements: transparent complete brand, panoramic hero and technical geometry */
.site_header .brand{
  width:auto;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:15px;
}
.site_header .brand_icon{
  width:64px;
  height:64px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
  flex:0 0 64px;
}
.site_header .brand_icon img{
  width:64px;
  height:64px;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  clip-path:none;
  filter:none;
}
.site_header .brand_word{
  display:block;
  width:clamp(245px,19vw,315px);
  max-height:56px;
  object-fit:contain;
  object-position:left center;
}

/* Panoramic hero: artwork occupies the full horizontal plane and fades into the copy. */
.hero{
  position:relative;
  display:block;
  overflow:hidden;
  background:#fff;
}
.hero.has_section_next .hero_copy{
  min-height:calc(100svh - var(--header-h) - var(--section-nav-h));
}
.hero_copy{
  width:min(56%,860px);
  min-width:520px;
  position:relative;
  z-index:4;
  padding:clamp(56px,7vh,92px) 5vw clamp(56px,7vh,92px) max(48px,5vw);
  background:linear-gradient(90deg,
    #fff 0%,
    rgba(255,255,255,.995) 68%,
    rgba(255,255,255,.94) 82%,
    rgba(255,255,255,0) 100%);
}
.hero_visual{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:auto;
  left:auto;
  width:min(70vw,1380px);
  height:calc(100svh - var(--header-h) - var(--section-nav-h));
  min-height:0!important;
  overflow:hidden;
  background:#fff;
  display:block;
  pointer-events:none;
  clip-path:inset(0);
}
.hero_visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  padding:0!important;
  object-fit:cover;
  object-position:right center;
  transform:none;
}
.hero_visual:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:none;
  background:linear-gradient(90deg,
    #fff 0%,
    rgba(255,255,255,.99) 24%,
    rgba(255,255,255,.92) 36%,
    rgba(255,255,255,.48) 50%,
    rgba(255,255,255,.10) 62%,
    rgba(255,255,255,0) 74%);
}

/* Discreet architectural geometry across the light sections. */
.products,
.about_section,
.access_section{
  position:relative;
  isolation:isolate;
  background-color:#fff;
}
.products:before,
.about_section:before,
.access_section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='920' height='680' viewBox='0 0 920 680'%3E%3Cg fill='none' stroke='%23c89a42' stroke-opacity='.22' stroke-width='1'%3E%3Ccircle cx='86' cy='92' r='44'/%3E%3Ccircle cx='790' cy='168' r='24'/%3E%3Cpath d='M170 18h86v86h-86z' transform='rotate(14 213 61)'/%3E%3Cpath d='M686 438l44-26 44 26v52l-44 26-44-26z'/%3E%3Cpath d='M0 540L180 360M270 680L520 430M730 680L920 490'/%3E%3Cpath d='M492 74h112v112H492z' transform='rotate(45 548 130)'/%3E%3C/g%3E%3Cg fill='%23151515' fill-opacity='.10'%3E%3Ccircle cx='340' cy='214' r='4'/%3E%3Ccircle cx='358' cy='214' r='4'/%3E%3Ccircle cx='376' cy='214' r='4'/%3E%3Ccircle cx='340' cy='232' r='4'/%3E%3Ccircle cx='358' cy='232' r='4'/%3E%3Ccircle cx='376' cy='232' r='4'/%3E%3C/g%3E%3Cg stroke='%23151515' stroke-opacity='.10' stroke-width='1'%3E%3Cpath d='M820 42v96M772 90h96M90 430h126M154 366v126'/%3E%3C/g%3E%3C/svg%3E");
  background-size:920px 680px;
  background-position:center top;
}
.products:after,
.about_section:after,
.access_section:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:5vw;
  top:14%;
  z-index:-1;
  border:1px solid rgba(200,154,66,.16);
  transform:rotate(18deg);
  box-shadow:-58vw 46vh 0 -1px rgba(200,154,66,.10);
  pointer-events:none;
}

/* Keep content readable over the decorative geometry. */
.products .section_shell,
.about_section .section_shell,
.access_section .section_shell{
  position:relative;
  z-index:1;
}

@media(max-width:1080px){
  .site_header .brand{gap:11px}
  .site_header .brand_icon{width:54px;height:54px;flex-basis:54px}
  .site_header .brand_icon img{width:54px;height:54px}
  .site_header .brand_word{width:220px;max-height:45px}
  .hero_copy{width:64%;min-width:0}
  .hero_visual{width:66vw}
  .hero_visual:after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 33%,rgba(255,255,255,.74) 52%,rgba(255,255,255,.18) 70%,transparent 82%)}
}

@media(max-width:760px){
  .site_header .brand{gap:8px}
  .site_header .brand_icon{width:48px;height:48px;flex-basis:48px}
  .site_header .brand_icon img{width:48px;height:48px}
  .site_header .brand_word{width:150px;max-height:36px}
  .hero{display:flex;flex-direction:column}
  .hero_copy{
    width:100%;
    min-width:0;
    min-height:auto!important;
    padding:48px 22px 42px;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 86%,rgba(255,255,255,.70) 100%);
  }
  .hero_visual{
    position:relative;
    inset:auto;
    width:100%;
    height:42svh;
    min-height:300px!important;
    order:2;
  }
  .hero_visual img{object-position:center}
  .hero_visual:after{background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.08) 26%,transparent 58%)}
  .products:before,.about_section:before,.access_section:before{opacity:.42;background-size:760px 562px}
}

@media(max-width:480px){
  .site_header .brand_word{width:132px}
  .site_header .brand_icon{width:44px;height:44px;flex-basis:44px}
  .site_header .brand_icon img{width:44px;height:44px}
}


/* Menu state and footer logo refinement */
.main_nav{
  gap:clamp(24px,2.2vw,38px);
  font-size:clamp(14px,.95vw,16px);
}
.main_nav a{
  position:relative;
  padding:36px 2px 22px;
  color:#3d3d3d;
  font-weight:500;
  letter-spacing:.025em;
  line-height:1;
  transition:color .22s ease,font-weight .22s ease;
}
.main_nav a:after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:13px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  opacity:0;
  transition:left .24s ease,right .24s ease,opacity .24s ease;
}
.main_nav a:hover{
  color:#8d651d;
}
.main_nav a:hover:after{
  left:50%;
  right:50%;
  opacity:0;
}
.main_nav a.active,
.main_nav a[aria-current="page"]{
  color:#090909;
  font-weight:800;
}
.main_nav a.active:after,
.main_nav a[aria-current="page"]:after{
  left:0;
  right:0;
  opacity:1;
}

.footer_symbol{
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(255,255,255,.78);
  border-radius:18px;
  padding:7px;
  object-fit:contain;
  filter:none;
  box-shadow:0 8px 24px rgba(0,0,0,.24),0 0 0 1px rgba(200,154,66,.18);
}

@media(max-width:1080px){
  .main_nav a{
    padding:14px 0;
    font-size:16px;
    letter-spacing:.015em;
  }
  .main_nav a:after{
    display:block;
    left:0;
    right:100%;
    bottom:7px;
  }
  .main_nav a:hover:after{left:0;right:100%;opacity:0}
  .main_nav a.active:after,
  .main_nav a[aria-current="page"]:after{left:0;right:72%;opacity:1}
}


/* Additive quality layer: accessibility, responsive pictures and secondary navigation. */
.skip_link{position:fixed;left:16px;top:-90px;z-index:200;background:#0b0b0b;color:#fff;padding:12px 16px;border-radius:10px;font-weight:800;transition:top .18s ease}.skip_link:focus{top:14px}
:focus-visible{outline:3px solid rgba(216,176,98,.85);outline-offset:4px}
.hero_visual picture,.product_photo picture{display:block;width:100%;height:100%}.hero_visual picture img,.product_photo picture img{width:100%;height:100%;object-fit:inherit;object-position:inherit}
.round_arrow{cursor:pointer}.round_arrow:focus-visible{outline-offset:3px}
.footer_legal_links{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.footer_legal_links a{color:#858585}.footer_legal_links a:hover{color:#fff}.footer_legal_links .language_link{color:#d8b062;font-weight:800}
@media(max-width:760px){.footer_legal_links{justify-content:flex-start}}

/* 2026-09-21: hero width, section navigation flow and privacy preferences */
@media (min-width:761px){
  .hero_visual{
    left:0;
    right:0;
    width:100%;
    max-width:none;
  }
  .hero_visual picture{
    display:block;
    width:100%;
    height:100%;
  }
  .hero_visual picture img,
  .hero_visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
  }
  .hero_visual:after{
    background:linear-gradient(90deg,
      #fff 0%,
      rgba(255,255,255,.995) 26%,
      rgba(255,255,255,.94) 39%,
      rgba(255,255,255,.68) 49%,
      rgba(255,255,255,.22) 60%,
      rgba(255,255,255,0) 72%);
  }
}

.has_section_next{
  padding-bottom:0;
}
.section_next{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  flex:0 0 var(--section-nav-h);
}
.section_next.dismissed{
  transform:none;
}

/* Privacy and cookie preferences */
.privacy_consent,
.privacy_preferences{
  font-family:inherit;
}
.privacy_consent{
  position:fixed;
  z-index:5000;
  left:24px;
  right:24px;
  bottom:24px;
  max-width:1180px;
  margin:0 auto;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(21,21,21,.14);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  transform:translateY(20px);
  visibility:hidden;
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
}
.privacy_consent.open{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
}
.privacy_consent_inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:24px 26px;
}
.privacy_consent_copy{
  min-width:0;
}
.privacy_consent_kicker{
  margin:0 0 7px;
  color:#9a6d1d;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.privacy_consent h2{
  margin:0 0 7px;
  color:#111;
  font-size:clamp(20px,1.55vw,27px);
  line-height:1.15;
}
.privacy_consent p{
  margin:0;
  max-width:760px;
  color:#4c4c4c;
  font-size:15px;
  line-height:1.6;
}
.privacy_consent_links{
  display:flex;
  gap:14px;
  margin-top:10px;
  flex-wrap:wrap;
}
.privacy_consent_links a{
  color:#111;
  font-size:13px;
  font-weight:700;
  text-underline-offset:3px;
}
.privacy_consent_actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  max-width:430px;
}
.privacy_consent_button{
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid #151515;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.privacy_consent_button:hover{
  transform:translateY(-1px);
}
.privacy_consent_button.primary{
  border-color:#111;
  background:#111;
  color:#fff;
}
.privacy_consent_button.gold{
  border-color:#c89a42;
  background:linear-gradient(135deg,#dfba69,#b9842b);
  color:#111;
}
.privacy_consent_close{
  position:absolute;
  top:10px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:#111;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.privacy_preferences{
  position:fixed;
  z-index:4990;
  left:18px;
  bottom:18px;
  display:none;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(21,21,21,.18);
  border-radius:999px;
  background:#fff;
  color:#111;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.privacy_preferences.visible{
  display:flex;
}
.privacy_preferences:before{
  content:"";
  width:9px;
  height:9px;
  border:2px solid #c89a42;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(200,154,66,.12);
}
.privacy_modal_backdrop{
  position:fixed;
  z-index:5100;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(0,0,0,.48);
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease,visibility .24s ease;
}
.privacy_modal_backdrop.open{
  opacity:1;
  visibility:visible;
}
.privacy_modal{
  width:min(620px,100%);
  max-height:min(760px,90vh);
  overflow:auto;
  padding:30px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.privacy_modal_header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:22px;
}
.privacy_modal_header h2{
  margin:0 0 7px;
  font-size:28px;
  line-height:1.1;
}
.privacy_modal_header p{
  margin:0;
  color:#555;
  font-size:14px;
  line-height:1.55;
}
.privacy_modal_close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid #ddd;
  border-radius:50%;
  background:#fff;
  font-size:23px;
  cursor:pointer;
}
.privacy_choice{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:18px 0;
  border-top:1px solid #ececec;
}
.privacy_choice h3{
  margin:0 0 5px;
  font-size:16px;
}
.privacy_choice p{
  margin:0;
  color:#5b5b5b;
  font-size:13px;
  line-height:1.5;
}
.privacy_choice_status{
  flex:0 0 auto;
  align-self:center;
  color:#6d6d6d;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.privacy_switch{
  position:relative;
  width:52px;
  height:30px;
  flex:0 0 52px;
  align-self:center;
}
.privacy_switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.privacy_switch span{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#d7d7d7;
  cursor:pointer;
  transition:background .2s ease;
}
.privacy_switch span:after{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:transform .2s ease;
}
.privacy_switch input:checked + span{
  background:#c89a42;
}
.privacy_switch input:checked + span:after{
  transform:translateX(22px);
}
.privacy_modal_actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:24px;
  flex-wrap:wrap;
}

@media(max-width:760px){
  .privacy_consent{
    left:12px;
    right:12px;
    bottom:12px;
    border-radius:20px;
  }
  .privacy_consent_inner{
    grid-template-columns:1fr;
    gap:18px;
    padding:23px 18px 18px;
  }
  .privacy_consent_actions{
    justify-content:stretch;
    max-width:none;
  }
  .privacy_consent_button{
    flex:1 1 140px;
  }
  .privacy_modal{
    padding:24px 18px;
    border-radius:22px;
  }
  .privacy_choice{
    gap:14px;
  }
  .privacy_preferences{
    left:12px;
    bottom:12px;
  }
}



/* ================================================================
   2026-09-21 refinement: hero, section separators, nav and privacy
   ================================================================ */

/* HERO: slightly smaller panoramic artwork, still anchored right. */
@media (min-width:761px){
  .hero_visual{
    left:auto;
    right:0;
    width:min(76vw,1440px);
    max-width:none;
  }
  .hero_visual picture,
  .hero_visual picture img,
  .hero_visual img{
    width:100%;
    height:100%;
  }
}

/* Each arrow bar is an autonomous separator BETWEEN sections. */
.has_section_next{
  min-height:calc(100svh - var(--header-h) - var(--section-nav-h));
  padding-bottom:0;
}
.has_section_next .section_shell{
  min-height:calc(100svh - var(--header-h) - var(--section-nav-h));
}
.hero.has_section_next{
  min-height:calc(100svh - var(--header-h) - var(--section-nav-h));
}
.hero.has_section_next .hero_copy,
.hero.has_section_next .hero_visual{
  min-height:calc(100svh - var(--header-h) - var(--section-nav-h));
  height:calc(100svh - var(--header-h) - var(--section-nav-h));
}

.section_next{
  position:relative;
  inset:auto;
  width:100%;
  height:var(--section-nav-h);
  min-height:var(--section-nav-h);
  flex:none;
  z-index:8;
  isolation:isolate;
  background:#fff;
  border-top:1px solid #ece9e3;
  border-bottom:1px solid #ece9e3;
  box-shadow:0 7px 24px rgba(0,0,0,.025);
}
.section_next:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,transparent 0 22%,rgba(200,154,66,.055) 50%,transparent 78%);
  opacity:.7;
}
.section_next.dismissed{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:none;
}
.section_next.dismissed span,
.section_next.dismissed i{
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}

/* More elegant nav state: old underline retracts, new one grows smoothly. */
.main_nav a{
  transition:
    color .28s ease,
    font-weight .28s ease,
    transform .28s cubic-bezier(.22,.61,.36,1),
    letter-spacing .28s ease;
}
.main_nav a:after{
  left:50%;
  right:auto;
  width:0;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,#ad7a25,#e0bd71,#ad7a25);
  box-shadow:0 2px 8px rgba(200,154,66,.18);
  transform:translateX(-50%);
  transition:
    width .34s cubic-bezier(.22,.61,.36,1),
    opacity .22s ease,
    box-shadow .3s ease;
}
.main_nav a:hover{
  transform:translateY(-1px);
}
.main_nav a:hover:after{
  left:50%;
  right:auto;
  width:0;
  opacity:0;
}
.main_nav a.active,
.main_nav a[aria-current="page"]{
  font-weight:800;
  letter-spacing:.035em;
  transform:translateY(-1px);
}
.main_nav a.active:after,
.main_nav a[aria-current="page"]:after{
  left:50%;
  right:auto;
  width:100%;
  opacity:1;
}
@media(max-width:1080px){
  .main_nav a:after{
    left:0;
    transform:none;
    width:0;
  }
  .main_nav a:hover:after{
    left:0;
    width:0;
  }
  .main_nav a.active:after,
  .main_nav a[aria-current="page"]:after{
    left:0;
    width:28%;
  }
}

/* Privacy modal: keep native vertical scrollbar visible.
   Scrolling is locked by JS without removing the scrollbar. */
html.privacy_modal_open{
  overflow-y:scroll;
}
body.privacy_modal_open{
  overflow:visible;
}
.privacy_modal{
  width:min(780px,100%);
  max-height:min(820px,90vh);
  overscroll-behavior:contain;
}
.privacy_modal_header{
  margin-bottom:18px;
}
.privacy_summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 20px;
}
.privacy_summary_item{
  padding:14px 15px;
  border:1px solid #e7e3da;
  border-radius:15px;
  background:#faf9f6;
}
.privacy_summary_item strong{
  display:block;
  margin-bottom:4px;
  color:#111;
  font-size:13px;
}
.privacy_summary_item span{
  display:block;
  color:#606060;
  font-size:12px;
  line-height:1.45;
}
.privacy_summary_item b{
  color:#8c641e;
}
.privacy_choice{
  padding:19px 0;
}
.privacy_choice_details{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.privacy_tech_row{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:12px;
  padding:10px 12px;
  border-radius:11px;
  background:#f7f7f5;
  color:#555;
  font-size:12px;
  line-height:1.45;
}
.privacy_tech_row strong{
  color:#171717;
  font-size:12px;
}
.privacy_zero_cookie{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:2px 0 18px;
  padding:14px 15px;
  border:1px solid rgba(200,154,66,.35);
  border-radius:14px;
  background:rgba(200,154,66,.07);
}
.privacy_zero_cookie_icon{
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.privacy_zero_cookie p{
  margin:0;
  color:#444;
  font-size:13px;
  line-height:1.55;
}
.privacy_zero_cookie strong{
  color:#111;
}
.privacy_help{
  margin:17px 0 0;
  padding-top:15px;
  border-top:1px solid #ececec;
  color:#666;
  font-size:12px;
  line-height:1.55;
}
.privacy_help a{
  color:#111;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:760px){
  .privacy_summary{
    grid-template-columns:1fr;
  }
  .privacy_tech_row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .hero.has_section_next,
  .has_section_next{
    min-height:auto;
  }
  .hero.has_section_next .hero_copy,
  .hero.has_section_next .hero_visual,
  .has_section_next .section_shell{
    min-height:auto;
    height:auto;
  }
  .section_next{
    height:72px;
    min-height:72px;
  }
}


/* ================================================================
   Contact section
   ================================================================ */
.contact_section{
  position:relative;
  overflow:hidden;
  background:#fff;
}
.contact_section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 9% 20%,transparent 0 44px,rgba(200,154,66,.14) 45px 46px,transparent 47px),
    linear-gradient(135deg,transparent 0 78%,rgba(20,20,20,.035) 78% 78.2%,transparent 78.2%),
    linear-gradient(45deg,transparent 0 22%,rgba(200,154,66,.05) 22% 22.15%,transparent 22.15%);
}
.contact_section_layout{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:clamp(52px,7vw,110px);
  align-items:center;
  padding-top:clamp(70px,8vh,110px);
  padding-bottom:clamp(70px,8vh,110px);
}
.contact_section_intro,
.contact_section_panel{
  position:relative;
  z-index:1;
}
.contact_section_intro h2{
  margin:14px 0 24px;
  font-size:clamp(54px,5.8vw,94px);
  line-height:.94;
  letter-spacing:-.055em;
}
.contact_section_intro h2 strong{
  color:var(--gold);
}
.contact_section_intro>p{
  max-width:650px;
  margin:0;
  color:#555;
  font-size:18px;
  line-height:1.72;
}
.contact_section_points{
  display:grid;
  gap:11px;
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid #e7e2d9;
}
.contact_section_points span{
  display:flex;
  align-items:center;
  gap:14px;
  color:#444;
  font-size:14px;
  font-weight:700;
}
.contact_section_points b{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(200,154,66,.45);
  border-radius:10px;
  color:#9a7028;
  font-size:11px;
}
.contact_section_panel{
  padding:clamp(24px,3vw,38px);
  border:1px solid #e3ded5;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 80px rgba(0,0,0,.09);
}
.contact_form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}
.form_group{
  display:grid;
  gap:8px;
}
.form_group.full{
  grid-column:1/-1;
}
.form_group label{
  color:#242424;
  font-size:13px;
  font-weight:800;
}
.form_group input,
.form_group select,
.form_group textarea{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border:1px solid #dcd7cf;
  border-radius:11px;
  background:#fff;
  color:#111;
  font:inherit;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.form_group textarea{
  min-height:145px;
  resize:vertical;
}
.form_group input:focus,
.form_group select:focus,
.form_group textarea:focus{
  border-color:#b88528;
  outline:0;
  box-shadow:0 0 0 3px rgba(184,133,40,.12);
}
.form_check{
  grid-column:1/-1;
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#555;
  font-size:13px;
  line-height:1.5;
}
.form_check input{
  margin-top:3px;
}
.form_check a{
  color:#111;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.form_actions,
.form_status{
  grid-column:1/-1;
}
.form_actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.contact_submit[disabled]{
  cursor:wait;
  opacity:.68;
}
.form_status{
  min-height:22px;
  margin:0;
  color:#666;
  font-size:13px;
  line-height:1.5;
}
.form_status.success{
  color:#28723d;
  font-weight:700;
}
.form_status.error{
  color:#a12d2d;
  font-weight:700;
}
.form_honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.footer_main.footer_main_compact{
  grid-template-columns:minmax(320px,1.7fr) minmax(160px,1fr) minmax(160px,1fr);
}
@media(max-width:1080px){
  .contact_section_layout{
    grid-template-columns:1fr;
    gap:40px;
  }
  .contact_section_intro{
    max-width:760px;
  }
  .footer_main.footer_main_compact{
    grid-template-columns:1.4fr 1fr 1fr;
  }
}
@media(max-width:760px){
  .contact_section_layout{
    padding-top:66px;
    padding-bottom:66px;
  }
  .contact_section_intro h2{
    font-size:clamp(48px,15vw,72px);
  }
  .contact_section_panel{
    padding:22px;
    border-radius:20px;
  }
  .contact_form{
    grid-template-columns:1fr;
  }
  .form_group.full,
  .form_check,
  .form_actions,
  .form_status{
    grid-column:1;
  }
  .footer_main.footer_main_compact{
    grid-template-columns:1fr 1fr;
  }
  .footer_main.footer_main_compact .footer_brand{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  .footer_main.footer_main_compact{
    grid-template-columns:1fr;
  }
  .footer_main.footer_main_compact .footer_brand{
    grid-column:auto;
  }
}

.privacy_modal_links{margin:18px 0 4px}
.privacy_modal_links a{font-size:12px}


/* ================================================================
   2026-09-21 requested refinements
   ================================================================ */
.privacy_consent_close,
.privacy_modal_close{
  display:grid;
  place-items:center;
  padding:0;
  line-height:0;
}
.privacy_consent_close svg,
.privacy_modal_close svg{
  display:block;
  width:15px;
  height:15px;
  overflow:visible;
}
.privacy_consent_close svg path,
.privacy_modal_close svg path{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.privacy_switch input{
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
  pointer-events:auto;
  z-index:2;
}
.privacy_switch input:focus-visible + span{
  outline:3px solid rgba(184,133,40,.22);
  outline-offset:3px;
}
.privacy_switch:hover span{
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.12);
}
.form_actions{
  justify-content:flex-end;
  margin-top:2px;
}
@media(max-width:760px){
  .form_actions{justify-content:flex-end}
}

/* ================================================================
   2026-09-21 language switch in topbar
   ================================================================ */
.site_header{
  grid-template-columns:minmax(310px,420px) 1fr minmax(248px,280px);
}
.header_actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.header_language{
  width:46px;
  height:42px;
  flex:0 0 46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ddd6ca;
  border-radius:12px;
  background:#fff;
  color:#171717;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  box-shadow:0 5px 16px rgba(0,0,0,.045);
  transition:transform .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.header_language:hover{
  transform:translateY(-2px);
  border-color:var(--gold);
  color:#9a6d20;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.nav_language_mobile{display:none!important}
@media(max-width:1080px){
  .site_header{grid-template-columns:auto 1fr auto}
  .nav_language_mobile{
    display:flex!important;
    color:#9a6d20!important;
    font-weight:850!important;
  }
}
@media(max-width:760px){
  .header_language{display:none}
}

/* 2026-09-21-4: identical IT/EN topbar actions */
.header_actions{
  gap:22px;
  min-width:292px;
}
.header_language,
.test_button{
  height:50px;
  border-radius:13px;
  background:#0e0e0e;
  color:#fff;
  border:1px solid #0e0e0e;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease;
}
.header_language{
  width:74px;
  flex:0 0 74px;
  padding:0;
  font-size:13px;
  font-weight:850;
  letter-spacing:.12em;
}
.test_button{
  width:196px;
  min-width:196px;
  flex:0 0 196px;
}
.header_language:hover,
.test_button:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:#0e0e0e;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
@media(max-width:1320px){
  .header_actions{gap:18px;min-width:276px}
  .header_language{width:68px;flex-basis:68px}
  .test_button{width:190px;min-width:190px;flex-basis:190px}
}
@media(max-width:1080px){
  .header_actions{gap:14px;min-width:258px}
  .header_language{width:64px;flex-basis:64px;height:46px}
  .test_button{width:180px;min-width:180px;flex-basis:180px;height:46px}
}
@media(max-width:760px){
  .header_actions{display:none}
}
