*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:#111;font:16px/1.5 'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:inherit}
ul,ol{margin:0}
:focus-visible{outline:2px solid #B38B45;outline-offset:3px}
::placeholder{color:#8A7A80}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:#6B1E32;padding:8px 14px;border-radius:999px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:1240px;margin:0 auto}
.col{display:flex;flex-direction:column}
.h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:clamp(48px,7vw,96px);line-height:.98;letter-spacing:-.025em;text-wrap:balance}
.h2 em,h1 em{font-style:italic}
.kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#F6D3DE}
.more{font-size:13px;font-weight:600;text-decoration:none;align-self:flex-start}
.more:hover{text-decoration:underline}

/* top */
.top{background:#6B1E32;color:#fff}
.top>.wrap{padding:22px 32px 0;box-sizing:content-box}
.top-sub>.wrap{padding-bottom:22px}
.hd{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.brand{display:flex;flex-direction:column;text-decoration:none;gap:2px}
.brand-name{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:24px;line-height:1.1}
.brand-tag{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#EBD3DA}
.nav{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:14px;font-weight:500}
.nav-group{display:flex;flex-wrap:wrap;gap:18px}
.nav a{text-decoration:none}
.nav-group a:hover{text-decoration:underline;text-underline-offset:4px}
.nav-div{width:1px;height:20px;background:rgba(255,255,255,.5)}
.icons{display:flex;gap:6px}
.ico{width:30px;height:30px;border-radius:50%;background:#fff;color:#6B1E32;display:inline-flex;align-items:center;justify-content:center}
.ico-in{font-size:12px;font-weight:700}
.hero{padding:88px 0 56px;display:flex;flex-direction:column;gap:28px}
.hero h1{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:clamp(48px,7.4vw,108px);line-height:.98;letter-spacing:-.03em;color:#F6D3DE;text-wrap:balance}
.hero-row{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-end;justify-content:space-between}
.hero-intro{flex:1 1 420px;max-width:40em;font-size:17px;line-height:1.45;display:flex;flex-direction:column;gap:10px}
.cta{border:1.5px solid #fff;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.cta:hover{background:#fff;color:#6B1E32}
.about{display:flex;flex-wrap:wrap;gap:40px;border-top:1px solid rgba(255,255,255,.3);padding:28px 0 56px;justify-content:space-between}
.about-text{flex:1 1 360px;max-width:40em;display:flex;flex-direction:column;gap:10px;font-size:15px;color:#EBD3DA}
.about-note{font-size:12px;color:#E3CDD3;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}
.about-photo{width:240px;aspect-ratio:4/5;height:auto;object-fit:cover;background:#7F2A41}

/* sections */
.sec{padding:96px 32px 104px}
.svcs{padding:72px 32px 80px}
.svc-list{border-top:1px solid #E6DADE}
.svc{border-bottom:1px solid #E6DADE;scroll-margin-top:24px}
.svc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;font-size:24px;font-weight:600;letter-spacing:-.01em}
.svc summary::-webkit-details-marker{display:none}
.svc .sign::before{content:'+';font-size:28px;font-weight:300;line-height:1}
.svc[open] .sign::before{content:'−'}
.svc-body{padding:0 0 26px;max-width:44em;display:flex;flex-direction:column;gap:14px;color:#444}
.svc-body .more{color:#6B1E32}

.method{background:#2A0C15;color:#fff}
.method .col{gap:56px}
.method .h2{color:#F6D3DE}
.method .sub{max-width:26em;font-size:18px;line-height:1.4;color:#EBD3DA;margin-top:20px}
.steps{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.4)}
.steps li{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.4)}
.num{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:48px;line-height:1;color:#F6D3DE;min-width:64px}
.step{flex:1 1 320px;max-width:44em;display:flex;flex-direction:column;gap:8px;color:#EBD3DA}
.step h3{font-size:22px;font-weight:600;color:#fff}
.step strong{color:#fff;font-weight:600}
.not{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px 40px}
.not h3{font-size:22px;font-weight:600}
.not ul{padding-left:1.1em;color:#EBD3DA;display:flex;flex-direction:column;gap:6px}

.arts .col{gap:44px}
.arts .h2{color:#6B1E32}
.arts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:28px}
.arts article{display:flex;flex-direction:column;gap:12px;border-top:1px solid #E6DADE;padding-top:18px}
.arts time,.kicker-dark{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6B1E32}
.arts h3{font-size:22px;font-weight:600;line-height:1.25}
.arts h3 a{text-decoration:none}
.arts h3 a:hover{text-decoration:underline}
.arts article p{color:#444}
.arts .more{color:#6B1E32}

.qs{background:#F6D3DE;color:#2A0C15;padding:96px 32px}
.qs-in{display:flex;flex-wrap:wrap;gap:48px}
.qs-left{flex:1 1 360px;display:flex;flex-direction:column;gap:20px}
.qs-left .h2{color:#6B1E32}
.qs-left p{max-width:24em;font-size:18px;line-height:1.4}
.qs-right{flex:1.2 1 420px;display:flex;flex-direction:column;justify-content:flex-end}
.qform{display:flex;flex-direction:column;gap:14px}
.qform label{font-size:13px;font-weight:600}
.qform textarea{font:inherit;font-size:18px;padding:16px;border:1.5px solid #2A0C15;border-radius:14px;background:#fff;color:#111;min-height:130px;resize:vertical;width:100%}
.qrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.qnote{font-size:13px}
.qform button{font:inherit;background:#6B1E32;color:#fff;border:0;border-radius:999px;padding:12px 24px;font-size:14px;font-weight:600;min-height:44px;cursor:pointer}
.qform button:hover{background:#561526}
.qform button:disabled{opacity:.6;cursor:wait}
.qform.is-sent{display:none}
.qerr{font-size:13px;font-weight:600;color:#6B1E32}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.thanks{font-size:28px;font-weight:600;letter-spacing:-.02em;color:#6B1E32}

.ft{background:#6B1E32;color:#fff;padding:96px 32px 36px}
.ft-in{display:flex;flex-direction:column;gap:48px}
.ft .h2{color:#F6D3DE}
.ft-row{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-end;justify-content:space-between}
.ft-text{max-width:28em;font-size:18px;color:#EBD3DA}
.ft-mail{font-size:clamp(22px,2.6vw,34px);font-weight:600;text-decoration:none;border-bottom:2px solid #B38B45;padding-bottom:2px;word-break:break-all}
.ft-bottom{border-top:1px solid rgba(255,255,255,.3);padding-top:22px;display:flex;flex-direction:column;gap:14px}
.ft-id{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.ft-name{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:22px}
.ft-tag{font-size:13px;color:#EBD3DA}
.ft-legal{font-size:12px;line-height:1.6;color:#E3CDD3}

/* sub pages */
.page .narrow{max-width:44em}
.page .h2{color:#6B1E32;font-size:clamp(40px,6vw,72px);margin:12px 0 40px}
.prose{display:flex;flex-direction:column;gap:16px;font-size:17px;line-height:1.6;color:#222;margin-bottom:48px}
.prose h2{font-size:24px;font-weight:600;color:#111;margin-top:16px}
.prose ul{padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.prose a,.page .more{color:#6B1E32}

@media (max-width:640px){
  .top>.wrap{padding:18px 20px 0}
  .sec,.svcs,.qs{padding-left:20px;padding-right:20px}
  .sec{padding-top:64px;padding-bottom:72px}
  .svcs{padding-top:48px;padding-bottom:56px}
  .qs{padding-top:64px;padding-bottom:64px}
  .ft{padding:64px 20px 28px}
  .hero{padding:56px 0 40px}
  .nav{gap:12px 16px}
  .nav-group{gap:10px 16px}
  .nav-div{display:none}
  .svc summary{font-size:20px}
  .about-photo{width:100%;max-width:320px}
  .hero-intro,.about-text,.step,.qs-left,.qs-right{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
