/* Shared navigation, site sections, and the seamless process line. */
.nav-mid a[aria-current="page"] { color: var(--lime); }
.nav-mid a[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle { display:none; align-items:center; gap:10px; border:1px solid #ffffff42; border-radius:3px; padding:8px 12px; color:#fff; background:transparent; font-size:12px; font-weight:800; }
.menu-toggle i,.menu-toggle i::after { display:block; width:14px; height:1px; background:currentColor; content:""; transition:transform .25s; }
.menu-toggle i::after { transform:translateY(5px); }
.menu-toggle[aria-expanded="true"] i { transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] i::after { transform:rotate(90deg); }
.mobile-nav[hidden] { display:none!important; }
.mobile-nav { width:min(100% - 36px,1240px); margin:auto; padding:10px 0 23px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 18px; animation:nav-open .28s ease both; }
.mobile-nav a { padding:11px 0; border-bottom:1px solid #ffffff25; color:#ebeee6; font-size:13px; font-weight:750; }
.mobile-nav a:hover { color:var(--lime); }
@keyframes nav-open { from{opacity:0;translate:0 -8px} to{opacity:1;translate:0 0} }

.footer-grid { display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:42px; padding-block:30px 20px; }
.footer-brand p { color:#c5ccc1; max-width:360px; margin:25px 0 34px; font-size:15px; line-height:1.65; }
.footer-column { display:grid; align-content:start; gap:16px; }
.footer-column b { color:var(--lime); font-size:11px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:10px; }
.footer-column a { color:#c5ccc1; font-size:14px; font-weight:650; width:max-content; }
.footer-column a:hover { color:var(--lime); }
.footer-number { color:#c5ccc1; font-size:13px; white-space:nowrap; }
.footer-grid:has(.footer-legal) { grid-template-columns:1.7fr repeat(4,1fr); gap:28px; }
.about-link { display:inline-block; color:var(--lime); font-size:13px; font-weight:800; margin-top:12px; border-bottom:1px solid currentColor; width:max-content; }

.marquee { overflow:hidden; position:relative; height:53px; display:flex; align-items:center; }
.marquee-track { display:flex; align-items:stretch; flex:none; width:max-content; height:100%; animation:marquee-travel 28s linear infinite paused; will-change:transform; }
.marquee-group { display:flex; align-items:center; justify-content:space-between; flex:none; min-width:100vw; gap:clamp(34px,4.2vw,72px); padding-inline:clamp(24px,3vw,50px); white-space:nowrap; font-size:11px; font-weight:900; letter-spacing:.17em; }
.marquee-group b { display:inline-block; font-size:15px; font-weight:500; animation:asterisk-spin 11s linear infinite; }
.marquee.is-running:not(.is-paused) .marquee-track { animation-play-state:running; }
.marquee-toggle { position:absolute; z-index:2; right:0; top:0; bottom:0; width:55px; border:0; border-left:1px solid #171a1733; color:#171a17; background:var(--lime); font-size:17px; font-weight:800; display:grid; place-items:center; }
.marquee-toggle:hover,.marquee-toggle:focus-visible { background:#e3f4bd; }
@keyframes marquee-travel { from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)} }

.internal-hero { position:relative; padding:70px 0 110px; min-height:535px; color:#fff; overflow:hidden; }
.internal-hero .breadcrumb { margin-bottom:55px; }
.internal-hero .eyebrow { color:var(--lime); }
.internal-hero h1 { font:700 clamp(61px,7vw,102px)/.97 var(--display); letter-spacing:-.085em; margin:23px 0 28px; max-width:1000px; }
.internal-hero h1 em { font-style:normal; color:var(--lime); }
.internal-hero>p { max-width:660px; font-size:20px; line-height:1.65; color:#d2d9cf; }
.catalog { padding:38px 0 115px; }
.catalog-card { display:grid; grid-template-columns:1.05fr .95fr; min-height:590px; border-bottom:1px solid var(--line); align-items:center; gap:7%; padding:74px 0; }
.catalog-card:first-child { border-top:1px solid var(--line); }
.catalog-card:nth-child(even) .catalog-copy { order:2; }
.catalog-card:nth-child(even) .catalog-art { order:1; }
.catalog-copy h2 { font:700 clamp(60px,6.5vw,92px)/1 var(--display); letter-spacing:-.077em; margin:12px 0 15px; }
.catalog-copy p { max-width:510px; color:#596256; font-size:16px; line-height:1.75; }
.catalog-copy .catalog-claim { font-size:23px; font-weight:800; line-height:1.3; color:var(--ink); letter-spacing:-.04em; }
.catalog-copy .button { background:var(--ink); color:#fff; margin-top:22px; }
.catalog-spec { display:flex; gap:20px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:18px; margin-top:30px; color:#506845; font-size:12px; font-weight:800; }
.catalog-art { height:570px; background:#e4e7e0; display:grid; place-items:center; position:relative; overflow:hidden; border:1px solid #d1d8ca; }
.catalog-art.mebrio { background:#e8e5dd; }
.catalog-art::before { content:""; position:absolute; inset:18px; border:1px solid #b7c1b1; }
.catalog-art .phone { z-index:1; width:245px; height:505px; transform:rotate(-3deg); box-shadow:25px 35px 60px #202b223d; animation:phone-float 6s ease-in-out infinite; }
.catalog-art.mebrio .phone { transform:rotate(3deg); animation-delay:-2s; }
.catalog-art small { position:absolute; bottom:28px; left:30px; z-index:2; color:#697365; text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:800; }
.compare { background:#e7e9e0; padding:110px 0 120px; }
.compare-table { border-top:1px solid #b7c3b1; }
.compare-row { display:grid; grid-template-columns:22% 39% 39%; border-bottom:1px solid #b7c3b1; }
.compare-row>* { display:block; padding:21px 20px 21px 0; font-size:15px; line-height:1.5; }
.compare-row>*:first-child { font-weight:800; color:#52684c; }
.compare-row:first-child>* { font:800 22px var(--display); letter-spacing:-.04em; color:var(--ink); }
.internal-end { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:120px; }
.internal-end .eyebrow { color:#557347; }
.internal-end h2 { font:700 clamp(46px,5.7vw,76px)/1.03 var(--display); letter-spacing:-.075em; margin:20px 0 0; }
.internal-end .button { color:#fff; background:var(--ink); flex:none; }

.about-hero { padding-bottom:150px; }
.about-hero>p { max-width:660px; }
.origin-diagram { position:absolute; right:2%; bottom:65px; width:245px; display:grid; gap:10px; color:#dce5d7; }
.origin-diagram span { border:1px solid #c9e89280; padding:10px 16px; font-size:11px; font-weight:900; letter-spacing:.17em; }
.origin-diagram i { width:1px; height:20px; background:var(--lime); margin:auto; animation:action-pulse 2s ease-in-out infinite; }
.origin-story { display:grid; grid-template-columns:28% 72%; gap:30px; padding-block:125px; }
.origin-number { font-size:11px; font-weight:900; letter-spacing:.17em; color:#667c57; }
.origin-copy { max-width:810px; }
.origin-copy .eyebrow { color:#557347; }
.origin-copy h2 { font:700 clamp(48px,5.5vw,75px)/1.06 var(--display); letter-spacing:-.075em; margin:24px 0 31px; }
.origin-copy p { font-size:18px; line-height:1.8; color:#4d594c; margin-bottom:25px; }
.principles-section { background:#171a17; color:#fff; padding:120px 0; }
.principles-section .eyebrow { color:var(--lime); }
.principles-section h2 { font:700 clamp(53px,6vw,84px)/1.04 var(--display); letter-spacing:-.078em; margin:23px 0 65px; }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:27px; }
.principles-grid article { border-top:1px solid #ffffff66; padding:25px 10px 0 0; }
.principles-grid span { font-size:11px; font-weight:900; color:var(--lime); letter-spacing:.12em; }
.principles-grid h3 { font:700 30px/1.15 var(--display); letter-spacing:-.055em; margin:38px 0 15px; }
.principles-grid p { color:#b8c1b5; font-size:15px; line-height:1.7; }
.today-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; padding-block:130px; }
.today-section .eyebrow { color:#58744a; }
.today-section h2 { font:700 clamp(48px,5vw,76px)/1.04 var(--display); letter-spacing:-.078em; margin:23px 0; }
.today-links a { display:grid; grid-template-columns:35px 1fr auto; align-items:center; gap:12px; border-top:1px solid var(--line); padding:26px 0; transition:padding-left .3s,color .3s; }
.today-links a:hover { padding-left:10px; color:#446d35; }
.today-links a>span { font-size:11px; font-weight:900; color:#638250; }
.today-links a b { font:700 31px var(--display); letter-spacing:-.055em; }
.today-links a small { grid-column:2; color:#677063; font-size:12px; }
.today-links a i { grid-column:3; grid-row:1 / span 2; font-size:24px; font-style:normal; }
.today-links p { color:#63705f; padding-top:20px; }

.contact-hero { min-height:520px; }
.contact-section { display:grid; grid-template-columns:1.3fr .7fr; gap:12%; padding-block:130px; }
.contact-main .eyebrow { color:#557347; }
.contact-main h2 { font:700 clamp(50px,5.7vw,80px)/1.04 var(--display); letter-spacing:-.078em; margin:22px 0; }
.contact-main>p { max-width:610px; color:#586256; font-size:18px; line-height:1.75; }
.contact-number { display:grid; gap:8px; border-top:1px solid var(--line); margin-top:40px; padding-top:22px; }
.contact-number>span { font-size:11px; font-weight:900; letter-spacing:.17em; color:#5d784b; text-transform:uppercase; }
.contact-number strong { font:700 clamp(32px,4vw,57px)/1.15 var(--display); letter-spacing:-.06em; }
.copy-number { width:max-content; margin-top:16px; border:1px solid var(--ink); border-radius:3px; padding:11px 15px; background:transparent; color:var(--ink); font-size:12px; font-weight:800; transition:background .25s,color .25s; }
.copy-number:hover { background:var(--ink); color:#fff; }
.copy-feedback { min-height:1.5em; color:#486b3a; font-size:12px; font-weight:800; }
.contact-side { background:#e9ebe3; padding:32px; align-self:start; }
.contact-side-label { font-size:11px; font-weight:900; color:#59724b; letter-spacing:.15em; text-transform:uppercase; margin-bottom:25px; }
.contact-side a { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid #c3cec0; padding:19px 0; font-size:15px; transition:padding-left .3s,color .3s; }
.contact-side a:hover { padding-left:9px; color:#4c723f; }
.contact-side a span { font-size:21px; }

@media(max-width:900px){
  .footer-grid { grid-template-columns:1.5fr repeat(3,1fr); gap:20px; }
  .catalog-card { gap:4%; }
  .origin-diagram { position:static; width:245px; margin-top:40px; }
}
@media(max-width:800px){
  .menu-toggle { display:flex; }
  .catalog-card { grid-template-columns:1fr; gap:35px; padding:75px 0; }
  .catalog-card:nth-child(even) .catalog-copy,.catalog-card:nth-child(even) .catalog-art { order:initial; }
  .catalog-art { height:540px; }
  .origin-story { grid-template-columns:1fr; gap:20px; }
  .today-section { grid-template-columns:1fr; gap:20px; }
  .contact-section { grid-template-columns:1fr; gap:55px; }
}
@media(max-width:600px){
  .nav-end { gap:8px; }
  .language { padding:2px; }
  .language button { padding:7px 8px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px 20px; padding-block:5px 20px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand p { margin:18px 0 20px; }
  .marquee { height:48px; }
  .marquee-group { font-size:10px; gap:32px; padding-inline:20px; }
  .marquee-toggle { width:44px; font-size:15px; }
  .internal-hero { padding:47px 0 80px; min-height:0; }
  .internal-hero .breadcrumb { margin-bottom:37px; }
  .internal-hero h1 { font-size:clamp(50px,11vw,68px); }
  .internal-hero>p { font-size:16px; }
  .catalog { padding:20px 0 75px; }
  .catalog-card { padding:68px 0; }
  .catalog-copy h2 { font-size:58px; }
  .catalog-copy .catalog-claim { font-size:21px; }
  .catalog-art { height:510px; }
  .catalog-art .phone { width:225px; height:465px; }
  .compare { padding:80px 0 90px; }
  .compare-row { grid-template-columns:1fr 1fr; }
  .compare-row>*:first-child { grid-column:1/-1; padding-bottom:0; }
  .compare-row>* { padding:13px 12px 20px 0; font-size:13px; }
  .compare-row:first-child>*:first-child { display:none; }
  .compare-row:first-child>* { padding:17px 0; font-size:17px; }
  .internal-end { display:block; padding-block:80px; }
  .internal-end h2 { font-size:clamp(43px,10vw,60px); margin-bottom:28px; }
  .about-hero { padding-bottom:80px; }
  .origin-story { padding-block:80px; }
  .origin-copy h2 { font-size:clamp(43px,10vw,58px); }
  .origin-copy p { font-size:16px; }
  .principles-section { padding:85px 0; }
  .principles-section h2 { font-size:clamp(46px,10vw,64px); margin-bottom:45px; }
  .principles-grid { grid-template-columns:1fr; gap:32px; }
  .principles-grid h3 { margin-top:24px; }
  .today-section { padding-block:80px; }
  .today-section h2 { font-size:clamp(44px,10vw,61px); }
  .contact-section { padding-block:80px; }
  .contact-main h2 { font-size:clamp(44px,10vw,62px); }
  .contact-main>p { font-size:16px; }
  .contact-number strong { font-size:clamp(30px,8vw,43px); }
  .contact-side { padding:27px; }
}
@media(prefers-reduced-motion:reduce){
  .marquee-track { animation:none; transform:none; }
  .marquee-group:nth-child(2) { display:none; }
}
@media(max-width:900px){.footer-grid:has(.footer-legal){grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.footer-grid:has(.footer-legal){grid-template-columns:1fr 1fr;gap:30px 18px}}
