*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-width:0;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:inherit}
ul{padding:0;margin:0;list-style:none}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
main,.in,.txt,.card,.cards>*,.split>*{min-width:0}
.in,.lead,.card,td,th,summary,h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.burger{display:none;background:none;border:0;padding:.6rem;cursor:pointer}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:5px 0;transition:.25s}
body.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.open .burger span:nth-child(2){opacity:0}
body.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.sub{display:none}
.grp{position:relative}
.grp:hover>.sub,.grp:focus-within>.sub{display:block}
.hero-media img{width:100%;height:100%;object-fit:cover}
.gal{display:grid;gap:.75rem;margin:1.5rem 0}
.gal img,.cards figure img{width:100%;height:100%;object-fit:cover}
.gal figure{aspect-ratio:3/2;overflow:hidden}
.g2{grid-template-columns:repeat(2,1fr)}
.g3,.g4,.g5,.g6{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}
.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));margin:1.5rem 0}
.card figure{aspect-ratio:4/3;overflow:hidden}
.card h3{margin:.8rem 0 .3rem}
.card p{margin:.3rem 0}
.split{display:grid;gap:2.5rem;grid-template-columns:1.1fr 1fr;align-items:center}
.pic img{width:100%}
.acc details{border-bottom:1px solid currentColor;padding:.9rem 0}
.acc summary{cursor:pointer;font-weight:600;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";float:right;font-weight:400;font-size:1.3em;line-height:1}
.acc details[open] summary::after{content:"–"}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
td,th{padding:.5rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid rgba(0,0,0,.15)}
blockquote{margin:2rem 0}
blockquote cite{display:block;margin-top:.8rem;font-style:normal;font-size:.9em;opacity:.75}
ul.jobs li{padding:.7rem 0;border-bottom:1px solid rgba(0,0,0,.15)}
.dims{font-size:.9em;opacity:.75}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin:0 0 .8rem}
.sec .in ul:not(.jobs){list-style:disc;padding-left:1.3rem;margin:1rem 0}
.sec .in ul li{margin:.25rem 0}
.crumbs{font-size:.85rem}
.crumbs a{text-decoration:none}
.crumbs span{opacity:.5;margin:0 .25rem}
.fline,.fpart,.flegal{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.ft ul{margin:0}
.addr{font-style:normal;line-height:1.7}
@media (max-width:760px){.split{grid-template-columns:1fr;gap:1.5rem}.g2{grid-template-columns:1fr 1fr}}
:root{--cream:#fbf4ea;--paper:#fffaf2;--rose:#b8584a;--rose2:#9c4538;--olive:#5b6b4a;--ink:#3b2f2a;--sand:#f1e4d1;--brown:#2e231f}
body.d3{background:var(--cream);color:var(--ink);font:17.5px/1.7 "Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif}
.d3 h1,.d3 h2,.d3 h3,.d3 h4{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.2;color:var(--brown)}
.d3 a{color:var(--rose2)}
.d3 .hd{position:sticky;top:0;z-index:30;padding:.8rem 1rem 0}
.d3 .hd-in{max-width:1300px;margin:0 auto;background:rgba(255,250,242,.96);backdrop-filter:blur(8px);border-radius:999px;box-shadow:0 6px 24px rgba(80,50,30,.12);padding:.55rem .7rem .55rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.d3 .logo{text-decoration:none;color:var(--brown);font-family:Georgia,serif;display:flex;flex-direction:column;line-height:1.05}
.d3 .logo-1{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.d3 .logo-2{font-size:1.35rem;font-weight:700}
.d3 .nav{display:flex;align-items:center;gap:1.4rem}
.d3 .menu{display:flex;gap:.3rem}
.d3 .menu>li>a{display:block;text-decoration:none;color:var(--ink);padding:.55rem 1rem;border-radius:999px;font-size:.95rem;font-weight:500}
.d3 .menu>li>a:hover,.d3 .menu>li>a[aria-current]{background:var(--sand);color:var(--rose2)}
.d3 .sub{position:absolute;top:100%;left:0;padding-top:.6rem;min-width:290px}
.d3 .sub li:first-child{border-radius:20px 20px 0 0}
.d3 .sub{background:none}
.d3 .sub::before{content:"";position:absolute;left:0;right:0;top:.6rem;bottom:0;background:var(--paper);border-radius:20px;box-shadow:0 14px 34px rgba(80,50,30,.18)}
.d3 .sub li{position:relative}
.d3 .sub li:first-child{margin-top:.5rem}.d3 .sub li:last-child{margin-bottom:.5rem}
.d3 .sub a{display:block;padding:.5rem 1.4rem;text-decoration:none;color:var(--ink);font-size:.93rem}
.d3 .sub a:hover{color:var(--rose);background:var(--sand)}
.d3 .tools{display:flex;gap:.8rem;align-items:center}
.d3 .lang{text-decoration:none;font-size:.82rem;font-weight:600;color:var(--olive);padding:.4rem .7rem;border-radius:999px;background:var(--sand)}
.d3 .book{display:inline-block;background:var(--rose);color:#fff!important;text-decoration:none;font-weight:600;font-size:.92rem;padding:.75rem 1.4rem;border-radius:999px;transition:.2s}
.d3 .book:hover{background:var(--rose2);transform:translateY(-1px)}
.d3 .book.big{margin-top:1.3rem;font-size:1rem;padding:.9rem 1.8rem}
/* hero */
.d3 .hero{position:relative;max-width:1300px;margin:1rem auto 0;min-height:52vh;border-radius:34px;overflow:hidden;display:flex;align-items:flex-end;padding:1.5rem;background:var(--sand)}
.d3 .hero-home{min-height:74vh}
.d3 .hero-media{position:absolute;inset:0}
.d3 .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(46,35,31,.4))}
.d3 .hero-txt{position:relative;z-index:2;background:var(--paper);border-radius:26px;padding:1.8rem 2.2rem;max-width:620px;box-shadow:0 10px 30px rgba(46,35,31,.2)}
.d3 .kicker{display:inline-block;background:var(--sand);color:var(--rose2);font-size:.78rem;font-weight:700;letter-spacing:.06em;padding:.25rem .8rem;border-radius:999px;margin:0 0 .7rem}
.d3 .hero h1{font-size:clamp(2rem,4.6vw,3.6rem);margin:0}
.d3 .lead{font-size:1.15rem;margin-top:.7rem;color:#5a4a42}
.d3 .lead p{margin:0}
.d3 .hero.noimg{min-height:0;background:none;padding:2rem 1rem 0}
.d3 .hero.noimg .hero-txt{box-shadow:none;background:none;padding:1rem}
/* quick */
.d3 .quick{max-width:1300px;margin:1.5rem auto 0;padding:0 1rem}
.d3 .quick-in{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.d3 .q{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;border-radius:30px;overflow:hidden;text-decoration:none;color:#fff;padding:1.6rem;isolation:isolate;transition:transform .25s}
.d3 .q:hover{transform:translateY(-5px) rotate(-.4deg)}
.d3 .qi{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}
.d3 .q::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(46,35,31,.82));z-index:-1}
.d3 .qn{display:none}
.d3 .qt{font-family:Georgia,serif;font-size:2rem;font-weight:700}
.d3 .qs{font-size:.9rem;opacity:.92;line-height:1.5}
/* content */
.d3 .crumbs{max-width:1100px;margin:1.8rem auto 0;padding:0 1.5rem;color:#85705f}
.d3 .crumbs a{color:var(--rose2)}
.d3 .sec{padding:3.2rem 1.5rem}
.d3 .in{max-width:1060px;margin:0 auto}
.d3 .sec:nth-of-type(even){background:var(--paper);border-radius:34px;margin:1.2rem auto;max-width:1300px}
.d3 .in>p,.d3 .in>ul,.d3 .in>h2,.d3 .in>h3,.d3 .in>.acc,.d3 .in>blockquote,.d3 .in>table{max-width:740px}
.d3 .in>h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 1rem}
.d3 .in>h2::after{content:"";display:block;width:70px;height:5px;border-radius:5px;background:var(--rose);margin-top:.8rem;opacity:.8}
.d3 .txt h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-top:0}
.d3 .eyebrow{display:inline-block;background:var(--sand);color:var(--olive);font-weight:700;letter-spacing:.08em;padding:.3rem .9rem;border-radius:999px;text-transform:none;font-size:.82rem}
.d3 .pic img,.d3 .gal figure,.d3 .card figure{border-radius:26px;overflow:hidden}
.d3 .pic img{box-shadow:0 14px 34px rgba(80,50,30,.18)}
.d3 .sec:nth-of-type(even) .split .pic{order:-1}
.d3 .gal figure:nth-child(3n+2){border-radius:26px 26px 90px 26px}
.d3 .card{background:#fff;border-radius:28px;padding:.8rem .8rem 1.4rem;box-shadow:0 8px 26px rgba(80,50,30,.1);transition:transform .25s}
.d3 .sec:nth-of-type(even) .card{background:var(--cream)}
.d3 .card:hover{transform:translateY(-4px)}
.d3 .card h3{padding:0 .6rem;font-size:1.3rem}
.d3 .card p{padding:0 .6rem}
.d3 .card figure{border-radius:20px}
.d3 .more,.d3 .btn{display:inline-block;text-decoration:none;font-weight:600;color:var(--rose2);background:var(--sand);padding:.5rem 1.1rem;border-radius:999px;font-size:.9rem}
.d3 .more:hover{background:var(--rose);color:#fff}
.d3 .btn{background:var(--rose);color:#fff;padding:.8rem 1.5rem}
.d3 blockquote{font-family:Georgia,serif;font-size:clamp(1.4rem,2.6vw,2rem);font-style:italic;line-height:1.4;background:var(--olive);color:#fff;padding:2.2rem 2.4rem;border-radius:30px}
.d3 blockquote p{margin:0}
.d3 blockquote cite{color:#e8e0c8}
.d3 .acc details{border:0;background:var(--sand);border-radius:18px;margin-bottom:.7rem;padding:1rem 1.4rem}
.d3 .acc summary{font-family:Georgia,serif;font-size:1.15rem}
/* footer */
.d3 .ft{background:var(--brown);color:#eadfce;margin-top:3rem;border-radius:40px 40px 0 0;padding:3.5rem 1.5rem 2rem;font-size:.95rem}
.d3 .ft-in{max-width:1200px;margin:0 auto}
.d3 .ft a{color:#eadfce;text-decoration:none}
.d3 .ft a:hover{color:#f3b8a9}
.d3 .ft .logo{color:#fff}.d3 .ft .logo-1{color:#f3b8a9}
.d3 .ft-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem;padding-bottom:2.3rem;border-bottom:1px solid rgba(255,255,255,.15)}
.d3 .ft address{font-style:normal;margin:1rem 0 1.3rem;line-height:1.7}
.d3 .ft p{margin:.7rem 0 0;opacity:.8}
.d3 .ft h4{color:#f3b8a9;font-size:1.05rem;margin:0 0 .9rem}
.d3 .ft li{margin:.35rem 0;line-height:1.4}
.d3 .fline{padding:1.5rem 0 .6rem;gap:.4rem 1.8rem;font-weight:600}
.d3 .fpart{opacity:.7;font-size:.85rem;padding-bottom:1.4rem}
.d3 .fbot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.85rem;opacity:.8;border-top:1px solid rgba(255,255,255,.15);padding-top:1.3rem}
/* mobile (kept last) */
@media (max-width:1000px){
 .d3 .hd{padding:.5rem .6rem 0}
 .d3 .hd-in{border-radius:28px;padding:.5rem .6rem .5rem 1.2rem;flex-wrap:wrap}
 .d3 .burger{display:block;color:var(--brown)}
 .d3 .nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.8rem;padding:.6rem .6rem 1rem}
 body.open .nav{display:flex}
 .d3 .menu{flex-direction:column;gap:0}
 .d3 .menu>li>a{padding:.7rem .8rem;font-weight:700}
 .d3 .sub{display:block;position:static;padding:0 0 .4rem 1rem;min-width:0}
 .d3 .sub::before{display:none}
 .d3 .sub li:first-child,.d3 .sub li:last-child{margin:0}
 .d3 .tools{justify-content:space-between}
 .d3 .hero{margin:.6rem .6rem 0;border-radius:26px;min-height:46vh;padding:.8rem}
 .d3 .hero-home{min-height:68vh}
 .d3 .hero-txt{padding:1.3rem 1.4rem}
 .d3 .quick-in{grid-template-columns:1fr}
 .d3 .q{min-height:220px}
 .d3 .sec:nth-of-type(even){border-radius:26px;margin:1rem .6rem}
 .d3 .ft-top{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.d3 .ft-top{grid-template-columns:1fr}.d3 .sec{padding:2.4rem 1.1rem}}
