:root{
  --cream:#f7f2ed;
  --paper:#fffdfb;
  --paper-soft:#fbf8f5;
  --blush:#e9c8bb;
  --terracotta:#c7775e;
  --terracotta-dark:#a95f4a;
  --ink:#30302f;
  --muted:#696461;
  --line:#e4d8d1;
  --dark:#2f302f;
  --focus:#7a3d2d;
  --shadow:0 22px 60px rgba(75,55,45,.09);
  --font-scale:1;
}
*{box-sizing:border-box}
html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.65;display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 7% 18%,rgba(233,200,187,.18),transparent 20%),radial-gradient(circle at 92% 78%,rgba(199,119,94,.08),transparent 20%);z-index:-1}
a{color:inherit;text-underline-offset:.22em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--dark);color:#fff;padding:.7rem 1rem;border-radius:.4rem;z-index:200}.skip-link:focus{top:1rem}

.site-header{height:108px;padding:0 clamp(1.4rem,4.5vw,4.2rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,251,.96);position:relative;z-index:20}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,2.5rem);letter-spacing:-.045em}.brand-subtitle{margin-top:.55rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:650;color:#4c4947}
.header-actions{display:flex;align-items:center;gap:.7rem}
.home-link,.lang-button,.menu-button,.a11y-header-button{min-width:48px;height:48px;border:1px solid var(--line);background:#fffaf7;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.home-link,.a11y-header-button{border-radius:5px}.lang-group{display:flex}.lang-button{min-width:48px;border-radius:0;font-size:.82rem;font-weight:700}.lang-button:first-child{border-radius:5px 0 0 5px}.lang-button:last-child{border-radius:0 5px 5px 0;border-left:0}.lang-button[aria-pressed="true"]{background:#eee8e3}.menu-button{border-radius:5px;padding:0 1rem;gap:.8rem;text-transform:uppercase;font-size:.76rem;letter-spacing:.04em}.burger{width:20px;height:14px;display:grid;align-content:space-between}.burger span{height:1.5px;background:currentColor}.a11y-header-button{border-radius:50%;background:var(--terracotta);color:white;border-color:var(--terracotta);width:48px}
.home-link:hover,.lang-button:hover,.menu-button:hover{background:#f4ece7}.a11y-header-button:hover{background:var(--terracotta-dark)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.page-main{flex:1}
.hero{position:relative;background:linear-gradient(90deg,#fbf7f3 0%,#fff 48%,#f8f3ef 100%);padding:1rem clamp(1.4rem,3.5vw,3rem) 2rem;overflow:hidden}
.hero::before{content:"";position:absolute;left:29%;top:1.2rem;width:150px;height:120px;background-image:radial-gradient(var(--terracotta) 1.2px,transparent 1.2px);background-size:12px 12px;opacity:.55}
.hero-shell{max-width:1240px;margin:auto;position:relative;display:grid;grid-template-columns:minmax(520px,1.14fr) minmax(480px,.86fr);min-height:610px;border-left:1px solid var(--terracotta);border-top:1px solid var(--terracotta);border-bottom:1px solid var(--terracotta);border-radius:0 0 0 84px;overflow:hidden}
.hero-copy{padding:4rem 3.2rem 3rem 4.2rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;min-width:0}
.hero-copy::after{content:"";position:absolute;right:-22px;top:0;width:150px;height:150px;background:linear-gradient(135deg,#d89a80,#c77b62);border-radius:74px 0 0 0;z-index:-1;transform:translateX(100%)}
.hero-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;line-height:1.8;font-weight:650;margin:0 0 1.1rem;max-width:22rem}.hero-rule{width:52px;height:2px;background:var(--terracotta);margin:0 0 1.6rem}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.85rem,3.55vw,3.85rem);line-height:.99;letter-spacing:-.045em;font-weight:400;margin:0;max-width:none;text-wrap:balance}.hero h1 span{display:block;white-space:normal}.hero-lead{font-size:1.02rem;max-width:31rem;color:#4f4a47;margin:1.5rem 0 0}.hero-cta{display:inline-flex;align-items:center;gap:2.8rem;width:max-content;margin-top:1.8rem;padding:.95rem 1.3rem;background:var(--terracotta);color:white;text-decoration:none;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;font-weight:700;border-radius:3px}.hero-cta:hover{background:var(--terracotta-dark)}
.hero-image-wrap{position:relative;align-self:stretch;min-height:610px;overflow:hidden;border-radius:72px 0 0 0;min-width:0}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:36% 50%;display:block}.hero-image-wrap::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);pointer-events:none}

.features{position:relative;background:#fff;padding:2.2rem clamp(1.4rem,4vw,4rem) 2.7rem;overflow:hidden}.features::before,.features::after{content:"";position:absolute;border:1px solid rgba(199,119,94,.18);border-radius:50%;width:250px;height:250px}.features::before{left:-180px;bottom:-100px;box-shadow:0 0 0 28px rgba(199,119,94,.035),0 0 0 56px rgba(199,119,94,.025)}.features::after{right:-160px;bottom:-100px;box-shadow:0 0 0 28px rgba(199,119,94,.035),0 0 0 56px rgba(199,119,94,.025)}
.feature-grid{max-width:1030px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative;z-index:1}.feature-card{background:linear-gradient(180deg,#fdfbf9,#faf7f4);border:1px solid #f1ebe7;padding:1.45rem 1.35rem 1.6rem;min-height:205px}.feature-head{display:flex;gap:1rem;align-items:flex-start}.feature-icon{width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:var(--terracotta);color:#fff;display:grid;place-items:center}.feature-icon svg{width:25px;height:25px}.feature-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;line-height:1.55;margin:.25rem 0 0;font-weight:750}.feature-title::after{content:"";display:block;width:30px;height:1px;background:var(--terracotta);margin-top:.7rem}.feature-card p{font-size:.86rem;line-height:1.7;color:#514d4a;margin:1.3rem 0 0}

.footer-main{position:relative;background:linear-gradient(100deg,#f3ece6,#fbf8f5 62%,#ead0c4);padding:2.8rem clamp(1.5rem,5vw,5rem) 3rem;overflow:hidden}.footer-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr 1fr 250px;gap:3rem;align-items:start;position:relative;z-index:2}.footer-brand-name{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1;margin:0}.footer-brand-sub{font-size:.78rem;margin:.45rem 0 0}.footer-line{width:30px;height:2px;background:var(--terracotta);margin:1.2rem 0}.footer-copy{font-size:.86rem;max-width:17rem;color:#504b48}.footer-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.25rem;font-weight:700}.footer-links{display:grid;gap:.8rem}.footer-links a{text-decoration:none;font-size:.87rem}.footer-links a:first-child{color:var(--terracotta-dark)}.contact-row{display:flex;align-items:center;gap:.7rem;font-size:.87rem;margin:.8rem 0}.contact-row svg{width:18px;height:18px;flex:none}.footer-art{position:absolute;right:0;bottom:0;width:min(30vw,330px);height:auto;z-index:1;pointer-events:none}.footer-art img{display:block;width:100%;height:auto}
.footer-bottom{background:var(--dark);color:#f6f1ed;min-height:66px;padding:1rem;display:flex;align-items:center;justify-content:center;gap:2rem;font-size:.78rem}.footer-bottom a{text-decoration:none}.footer-bottom span.separator{opacity:.55}

.drawer-backdrop{position:fixed;inset:0;background:rgba(35,30,27,.35);opacity:0;visibility:hidden;transition:.2s;z-index:60}.drawer{position:fixed;right:0;top:0;width:min(410px,92vw);height:100%;background:var(--paper);padding:1.4rem;transform:translateX(100%);transition:transform .28s ease;z-index:70;box-shadow:-20px 0 60px rgba(20,15,12,.14);display:flex;flex-direction:column}.menu-open .drawer-backdrop{opacity:1;visibility:visible}.menu-open .drawer{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-title{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.drawer-close{border:1px solid var(--line);background:#fff;width:44px;height:44px;border-radius:50%;font-size:1.55rem;line-height:1;padding:0;display:grid;place-items:center;cursor:pointer;font-family:Arial,Helvetica,sans-serif}.drawer nav{display:grid;margin-top:3rem}.drawer nav a{padding:1rem 0;text-decoration:none;border-bottom:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.drawer-tools{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}.tool-button{border:0;background:transparent;padding:.7rem 0;cursor:pointer}
.a11y-panel{position:fixed;right:1rem;top:6rem;width:min(360px,calc(100vw - 2rem));background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:1.1rem;z-index:100;display:none}.a11y-panel.open{display:block}.a11y-panel h2{font-size:1rem;margin:0 0 .7rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}.setting-controls{display:flex;gap:.35rem}.small-button{border:1px solid var(--line);background:#fff;border-radius:999px;min-width:38px;min-height:38px;cursor:pointer}.switch{cursor:pointer}.switch input{width:1.2rem;height:1.2rem}.panel-actions{display:flex;justify-content:space-between;margin-top:.8rem}.text-button{border:0;background:transparent;text-decoration:underline;cursor:pointer;padding:.5rem}

.content-wrap{background:linear-gradient(180deg,#fbf7f3,#fff);padding:2rem clamp(1.2rem,4vw,4rem) 4rem}.content-page{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(2rem,5vw,4.5rem)}.content-page .eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--terracotta-dark);font-weight:700}.content-page h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.7rem,6vw,4.8rem);line-height:1;margin:.3rem 0 2rem}.content-page h2{font-size:1.1rem;margin:2rem 0 .5rem}.content-page p,.content-page li,.content-page address{color:#4f4a47}.content-page address{font-style:normal}.legal-note{border-left:3px solid var(--terracotta);padding:1rem 1.2rem;background:#fbf5f1}.error-page{text-align:center}.error-code{font-family:Georgia,"Times New Roman",serif;font-size:clamp(6rem,18vw,11rem);color:var(--terracotta);line-height:.9;margin:0 0 .6rem}.error-page h1{margin:.2rem 0 1rem;line-height:1.02;font-size:clamp(2.5rem,7vw,5.8rem)}.error-page p{margin:0 auto 1.25rem;max-width:40rem}.home-cta{display:inline-flex;background:var(--terracotta);color:white;text-decoration:none;padding:.8rem 1rem;margin-top:1rem}

.high-contrast{--paper:#fff;--paper-soft:#fff;--cream:#fff;--ink:#000;--muted:#111;--line:#000;--terracotta:#000;--terracotta-dark:#000;--focus:#d00000;--shadow:none}.high-contrast .hero,.high-contrast .footer-main,.high-contrast .feature-card{background:#fff}.high-contrast .a11y-header-button,.high-contrast .hero-cta,.high-contrast .feature-icon{background:#000;color:#fff}.underline-links a{text-decoration:underline!important}.large-spacing{letter-spacing:.035em;word-spacing:.11em;line-height:1.9}.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


@media(max-width:1400px){
  .hero-shell{grid-template-columns:minmax(500px,1.08fr) minmax(460px,.92fr)}
  .hero-copy{padding-left:3.2rem;padding-right:2.4rem}
  .hero h1{font-size:clamp(2.75rem,3.45vw,3.65rem)}
}
@media(max-width:1180px) and (min-width:981px){
  .hero-shell{grid-template-columns:minmax(460px,1.05fr) minmax(420px,.95fr)}
  .hero-copy{padding-left:2.6rem;padding-right:2rem}
  .hero h1{font-size:clamp(2.6rem,3.35vw,3.35rem)}
}
@media(max-width:980px){
  .site-header{padding:1.05rem 1.1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;min-height:0}
  .brand{min-width:0}
  .brand-name{font-size:2.05rem}
  .brand-subtitle{letter-spacing:.18em}
  .header-actions{gap:.4rem;align-items:flex-start;flex-wrap:nowrap}
  .menu-label{display:none}.menu-button{width:48px;padding:0}
  .hero-shell{grid-template-columns:1fr;border-radius:0 0 0 60px;min-height:0}
  .hero-copy{padding:2.8rem 2rem 2rem}
  .hero-copy::after{display:none}
  .hero h1{font-size:clamp(2.85rem,7.1vw,4rem);max-width:10.8ch}
  .hero-lead{max-width:38rem}
  .hero-image-wrap{min-height:420px;border-radius:46px 0 0 0;margin:0 0 0 1.7rem}
  .feature-grid{grid-template-columns:1fr}.feature-card{min-height:auto}
  .footer-grid{grid-template-columns:1.2fr .8fr 1fr}.footer-art{opacity:.32;width:280px}.footer-art-col{display:none}
}
@media(max-width:760px){
  .site-header{padding:.9rem .95rem;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}
  .brand-name{font-size:1.5rem}
  .brand-subtitle{font-size:.58rem;letter-spacing:.14em;line-height:1.3;margin-top:.22rem}
  .header-actions{gap:.28rem;flex-wrap:wrap;justify-content:flex-end;max-width:205px}
  .home-link,.lang-button,.menu-button,.a11y-header-button{height:40px;min-width:40px}
  .lang-group{display:flex}.lang-button{min-width:38px;padding:.5rem .65rem}
  .a11y-header-button{width:40px}.a11y-header-button svg{width:21px;height:21px}
  .hero{padding:.15rem 0 1.45rem}
  .hero::before{display:none}
  .hero-shell{border-radius:0 0 0 40px;border-left:1px solid var(--terracotta);border-top:1px solid var(--terracotta);border-bottom:1px solid var(--terracotta)}
  .hero-copy{padding:2rem 1.5rem 1.55rem}
  .hero-kicker{font-size:.68rem;line-height:1.7;max-width:15rem}
  .hero-rule{margin-bottom:1.25rem}
  .hero h1{font-size:clamp(2.25rem,11vw,3.15rem);line-height:.97;max-width:10.6ch}
  .hero-lead{font-size:.98rem;line-height:1.65;margin-top:1.25rem}
  .hero-cta{margin-top:1.5rem;gap:2.1rem;padding:.95rem 1.15rem;font-size:.74rem}
  .hero-image-wrap{min-height:0;aspect-ratio:4 / 3;border-radius:34px 0 0 0;margin:0 auto;max-width:34rem;width:calc(100% - 2rem)}
  .hero-image-wrap img{object-position:40% 50%}
  .hero-image-wrap::before{content:none}
  .features{padding:1.4rem .95rem 2.05rem}
  .feature-card{padding:1.3rem 1.15rem 1.45rem}
  .footer-main{padding:2.25rem 1.15rem 8rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-art{opacity:1;width:210px}
  .footer-bottom{flex-wrap:wrap;gap:.5rem 1rem;text-align:center}
  .a11y-panel{top:4.8rem}
  .content-wrap{padding:1rem}.content-page{padding:1.5rem}
}
@media(max-width:420px){
  .site-header{padding:.8rem .8rem .6rem}
  .brand-name{font-size:1.34rem}
  .brand-subtitle{font-size:.54rem}
  .header-actions{max-width:190px;gap:.25rem}
  .home-link,.lang-button,.menu-button,.a11y-header-button{height:38px;min-width:38px}
  .lang-button{min-width:36px;padding:.45rem .55rem}
  .hero-copy{padding:1.8rem 1.25rem 1.35rem}
  .hero-kicker{font-size:.64rem;max-width:14rem}
  .hero h1{font-size:clamp(2.05rem,10.8vw,2.75rem);max-width:10.1ch}
  .hero-lead{font-size:.92rem}
  .hero-cta{width:100%;justify-content:space-between}
  .hero-image-wrap{margin:0 auto;max-width:34rem;width:calc(100% - 1.6rem);border-radius:28px 0 0 0}
  .hero-image-wrap img{object-position:42% 50%}
  .feature-head{gap:.85rem}
  .feature-title{font-size:.78rem}
  .feature-card p{font-size:.84rem}
  .footer-brand-name{font-size:1.72rem}
  .footer-copy{max-width:none}
}
