    :root { color-scheme: light; --ink:#171b1d; --deep:#202526; --paper:#f4f2eb; --white:#fffdfa; --red:#d94c2d; --red-dark:#a93a21; --muted:#68706d; --line:#d8d9d2; --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; font-family:var(--sans); background:var(--paper); color:var(--ink); font-size:16px; line-height:1.6; }
    a { color:inherit; }
    button,a { -webkit-tap-highlight-color:transparent; }
    a:focus-visible { outline:3px solid #f29972; outline-offset:4px; }
    .wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
    .topbar { background:var(--ink); color:#f6f5ef; border-bottom:1px solid #3b4140; }
    .nav { min-height:84px; display:flex; align-items:center; gap:30px; }
    .brand { display:flex; align-items:center; gap:13px; text-decoration:none; min-width:0; }
    .brand-mark { width:43px; height:43px; display:grid; place-items:center; background:var(--red); color:white; border-radius:4px; font-family:var(--serif); font-weight:bold; font-size:1.15rem; flex:none; letter-spacing:-.09em; padding-right:3px; }
    .brand-text { display:flex; flex-direction:column; line-height:1.2; letter-spacing:.01em; font-weight:750; font-size:.96rem; white-space:nowrap; }
    .brand-text small { font-size:.66rem; font-weight:550; text-transform:uppercase; letter-spacing:.19em; color:#b8c0bc; margin-top:5px; }
    .nav-links { display:flex; align-items:center; gap:34px; margin-left:auto; font-weight:600; font-size:.92rem; }
    .nav-links a { text-decoration:none; color:#e1e4df; }
    .nav-links a:hover { color:#fff; }
    .nav-cta { text-decoration:none; background:var(--white); color:var(--ink); font-weight:750; padding:12px 18px; border-radius:3px; white-space:nowrap; font-size:.9rem; }
    .nav-cta:hover { background:#f6ddad; }
    .lang-switch { display:flex; align-items:center; gap:5px; padding-left:17px; border-left:1px solid #4a514f; font-size:.82rem; font-weight:750; letter-spacing:.05em; white-space:nowrap; }
    .lang-switch a { display:inline-block; padding:7px 6px; text-decoration:none; color:#aeb9b2; }
    .lang-switch a[aria-current="page"] { color:white; border-bottom:2px solid var(--red); }
    .lang-switch a:hover { color:white; }
    .hero { position:relative; overflow:hidden; background:var(--ink); color:var(--white); }
    .hero-grid { display:grid; grid-template-columns:1.05fr .95fr; min-height:600px; }
    .hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:64px 46px 80px 0; }
    .eyebrow { display:flex; align-items:center; gap:12px; text-transform:uppercase; letter-spacing:.17em; font-weight:750; font-size:.78rem; }
    .eyebrow::before { content:""; width:30px; height:2px; background:var(--red); flex:none; }
    .hero .eyebrow { color:#e3ad98; }
    h1,h2,h3,p { margin-top:0; }
    h1 { font-family:var(--serif); font-size:clamp(3.6rem,6.1vw,6.05rem); font-weight:500; letter-spacing:-.055em; line-height:1.01; max-width:730px; margin:26px 0 26px; }
    h1 em { color:#f19b79; font-weight:400; font-style:italic; }
    .hero-lead { max-width:530px; color:#cdd4cf; font-size:1.13rem; line-height:1.75; margin-bottom:31px; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:16px; background:var(--red); color:white; text-decoration:none; font-weight:750; border-radius:3px; padding:15px 21px; line-height:1.2; min-height:52px; }
    .button:hover { background:var(--red-dark); }
    .text-link { font-weight:700; color:#f6f5ef; text-decoration:none; border-bottom:1px solid #8c9690; padding-bottom:4px; }
    .text-link:hover { border-color:white; }
    .hero-visual { position:relative; min-height:530px; margin-right:calc((min(1180px,100vw - 48px) - 100vw)/2); background:#f2dfc8; }
    .hero-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:contain; object-position:center; }
    .hero-visual::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(23,27,29,.65),transparent 20%); pointer-events:none; }
    .fact-strip { background:#2a302f; color:#e8ede8; }
    .fact-inner { display:grid; grid-template-columns:repeat(3,1fr); }
    .fact { padding:24px 30px; border-right:1px solid #47504c; display:flex; align-items:center; gap:16px; font-size:.9rem; line-height:1.45; }
    .fact:first-child { padding-left:0; }
    .fact:last-child { border:0; }
    .fact strong { display:block; color:#f3f2ed; font-size:1rem; }
    .fact-number { font-family:var(--serif); font-style:italic; font-size:2rem; color:#ed8f70; line-height:1; flex:none; }
    .section { padding:100px 0; }
    .section-intro { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }
    .section h2 { font-family:var(--serif); font-weight:500; letter-spacing:-.045em; font-size:clamp(2.5rem,4.3vw,4rem); line-height:1.1; margin:15px 0 0; }
    .section-intro p { color:#5c6460; max-width:380px; margin:0; line-height:1.75; }
    .brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
    .brand-card { background:var(--white); min-height:330px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); position:relative; overflow:hidden; }
    .brand-card::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; background:var(--accent); top:-61px; right:-61px; box-shadow:0 0 0 38px var(--ring); opacity:.9; }
    .brand-index { font-size:.77rem; color:#656e68; font-weight:750; letter-spacing:.15em; position:relative; z-index:1; }
    .brand-card h3 { margin:56px 0 24px; font-family:var(--serif); font-weight:500; letter-spacing:-.035em; line-height:1.15; font-size:clamp(1.85rem,2.7vw,2.5rem); max-width:95%; position:relative; z-index:1; }
    .brand-products { list-style:none; padding:0; margin:auto 0 0; border-top:1px solid var(--line); position:relative; z-index:1; }
    .brand-products a { display:flex; align-items:baseline; justify-content:space-between; gap:12px; text-decoration:none; font-weight:700; padding:12px 0; border-bottom:1px solid var(--line); line-height:1.45; }
    .brand-products li:last-child a { border-bottom:0; padding-bottom:0; }
    .brand-products a:hover { color:var(--red-dark); }
    .brand-products a span { flex:none; }
    .about { background:#e7e9e1; }
    .story-intro { max-width:880px; margin-bottom:52px; }
    .story-intro h2 { max-width:820px; }
    .story-intro > p { font-size:1.18rem; line-height:1.8; max-width:750px; margin:24px 0 0; }
    .story-events { border-top:1px solid #c3c9c0; }
    .story-event { display:grid; grid-template-columns:190px 1fr; gap:7%; align-items:start; padding:32px 0; border-bottom:1px solid #c3c9c0; }
    .story-year { font-family:var(--serif); font-style:italic; color:var(--red-dark); font-size:clamp(2.2rem,4vw,3.35rem); line-height:1.1; }
    .story-copy { max-width:810px; }
    .story-copy h3 { font-family:var(--serif); font-size:clamp(1.7rem,2.8vw,2.3rem); line-height:1.16; font-weight:500; letter-spacing:-.025em; margin-bottom:13px; }
    .story-copy p { margin:0; font-size:1.05rem; line-height:1.75; }
    .story-family { background:var(--deep); color:var(--white); padding:40px 45px; margin:35px 0 28px; }
    .story-family p { font-size:1.18rem; line-height:1.75; margin:0; max-width:940px; }
    .profile-placeholder { padding:18px 21px; margin-bottom:28px; border-left:3px solid var(--red); background:rgba(255,253,250,.58); }
    .profile-placeholder strong { display:block; margin-bottom:4px; }
    .profile-placeholder span { color:#52605a; }
    .about-list { border-top:1px solid #c3c9c0; }
    .about-row { display:grid; grid-template-columns:160px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid #c3c9c0; }
    .about-row strong { font-size:.9rem; }
    .about-row span { color:#52605a; }
    .contact { background:var(--red); color:white; padding:88px 0; }
    .contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:9%; align-items:end; }
    .contact h2 { font-family:var(--serif); font-size:clamp(2.8rem,4.8vw,4.6rem); letter-spacing:-.05em; line-height:1.05; font-weight:500; max-width:730px; margin:20px 0 0; }
    .contact .eyebrow::before { background:#ffd1bc; }
    .contact p { max-width:440px; font-size:1.06rem; line-height:1.7; color:#fff1e9; margin:0 0 25px; }
    .contact .button { background:#fffdfa; color:var(--ink); }
    .contact .button:hover { background:#ffdfc9; }
    .contact small { display:block; margin-top:11px; color:#ffe3d5; font-size:.8rem; }
    .footer { background:var(--ink); color:#cbd1cc; padding:36px 0; }
    .footer-inner { display:flex; justify-content:space-between; gap:24px; align-items:center; font-size:.9rem; }
    .footer strong { color:white; display:block; margin-bottom:4px; }
    .footer a { color:#e8ece7; }
    @media (max-width:950px) { .nav-links{gap:18px}.nav-cta{display:none}.hero-grid{grid-template-columns:1fr .8fr}.hero-copy{padding:60px 20px 70px 0}.hero-visual{margin-right:-24px}.fact{padding:20px 15px}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.brand-card{padding:23px} }
    @media (max-width:700px) { .wrap{width:min(100% - 36px,520px)}.nav{min-height:72px}.brand-text{font-size:.83rem}.brand-text small{font-size:.56rem}.nav-links{display:none}.lang-switch{margin-left:auto;padding-left:10px}.hero-grid{display:flex; flex-direction:column}.hero-copy{padding:52px 0 45px}.hero h1{font-size:clamp(3.25rem,14vw,5rem);max-width:540px}.hero-lead{font-size:1rem}.hero-visual{height:330px;min-height:0;margin:0 -18px}.hero-visual::before{background:linear-gradient(180deg,var(--ink),transparent 33%)}.fact-inner{grid-template-columns:1fr}.fact{padding:17px 0;border-right:0;border-bottom:1px solid #47504c}.fact:last-child{border:0}.fact-number{width:34px;font-size:1.7rem}.section{padding:68px 0}.section-intro{display:block;margin-bottom:28px}.brand-grid{grid-template-columns:1fr}.brand-card{min-height:275px}.brand-card h3{margin:35px 0 22px}.story-intro{margin-bottom:30px}.story-intro > p{font-size:1.05rem}.story-event{grid-template-columns:1fr;gap:10px;padding:26px 0}.story-year{font-size:2.55rem}.story-family{padding:30px 24px}.story-family p{font-size:1.05rem}.about-row{grid-template-columns:120px 1fr}.contact{padding:70px 0}.contact-grid{display:block}.contact-grid>div:last-child{margin-top:30px}.footer-inner{display:block}.footer-inner>div+div{margin-top:18px} }
    @media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
