
:root{--red:#b9150f;--red-d:#8f0f0b;--ink:#231c1b;--mut:#6b5f5d;--soft:#fbf3f1;--line:#efe3e0;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}
body{margin:0;min-height:100%;background:#fff;color:var(--ink);font:400 16px/1.7 Montserrat,system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#fff;z-index:30}
a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.1;margin:0}
h1{font-size:clamp(2.5rem,6vw,4.3rem)}
h2{font-size:clamp(1.9rem,4vw,2.7rem);color:var(--red)}
h3{font-size:1.5rem;color:var(--red)}
p{margin:0 0 1rem;max-width:62ch}
.w{max-width:1100px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:18px;padding:10px 20px;max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand img{width:46px;height:46px;object-fit:contain}
.brand b{font:600 1.7rem/1 "Cormorant Garamond",Georgia,serif;color:var(--red)}
nav{display:flex;gap:4px}
nav a{text-decoration:none;font-size:.9rem;font-weight:500;padding:8px 12px;border-radius:999px;white-space:nowrap}
nav a:hover,nav a.on{background:var(--soft);color:var(--red)}
.btn{display:inline-block;text-decoration:none;background:var(--red);color:#fff;font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:999px;white-space:nowrap}
.btn:hover{background:var(--red-d)}
.btn.o{background:#fff;color:var(--red);border:1.5px solid var(--red)}
.btn.o:hover{background:var(--soft)}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:2px}
@media(max-width:900px){.bar{flex-wrap:wrap;gap:6px 12px}nav{order:3;width:100%;overflow-x:auto;padding-bottom:6px}.btn{padding:9px 14px;font-size:.85rem}}
section{padding:56px 0}
.alt{background:var(--soft)}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:56px 0}
.hero p{font-size:1.08rem;color:var(--mut)}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.ring{justify-self:center;width:min(100%,380px);aspect-ratio:1;border-radius:50%;background:var(--soft);display:grid;place-items:center;border:1px solid var(--line)}
.ring img{width:88%}
@media(max-width:760px){.hero{grid-template-columns:1fr}.ring{width:min(70%,300px);order:-1}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin-top:28px}
.card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.card:hover{border-color:var(--red)}
.card div.t{padding:16px 18px 20px}
.card p{font-size:.92rem;color:var(--mut);margin:6px 0 0}
.ph{aspect-ratio:1/1;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.two .ph{aspect-ratio:4/5}.ph img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.ph svg{width:34%;opacity:.8}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips span{border:1px solid var(--red);color:var(--red);border-radius:999px;padding:7px 16px;font-size:.9rem;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
@media(max-width:760px){.two{grid-template-columns:1fr}}
.back{display:inline-block;margin-bottom:18px;color:var(--red);text-decoration:none;font-weight:500;font-size:.9rem}
ul.l{padding:0;margin:0 0 22px;list-style:none}
ul.l li{padding:8px 0 8px 22px;border-bottom:1px solid var(--line);position:relative}
ul.l li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;background:var(--red)}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:18px}
.person h3{margin-top:14px}
.person small{display:block;color:var(--mut);margin-bottom:8px}
footer{border-top:1px solid var(--line);padding:30px 0;font-size:.9rem;color:var(--mut)}
footer a{color:var(--red)}
.ln{display:flex;align-items:center;gap:10px;margin:0 0 10px}.ln svg,.ic svg{width:20px;height:20px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.soc{display:flex;gap:12px;margin:14px 0 0}.ic{width:42px;height:42px;border:1.5px solid var(--red);border-radius:50%;display:grid;place-items:center;background:#fff}.ic:hover{background:var(--soft)}
