/* page hero */
.page-hero{background:var(--ink);color:var(--paper);padding:clamp(70px,10vw,120px) clamp(20px,5vw,56px) clamp(56px,8vw,90px);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-6%;bottom:-40%;width:min(460px,50vw);height:min(460px,50vw);border:1px solid rgba(201,163,78,.35);border-radius:50%}
.page-hero::before{content:"";position:absolute;right:6%;bottom:-20%;width:min(300px,34vw);height:min(300px,34vw);border:1px solid rgba(201,163,78,.22);border-radius:50%}
.page-hero-inner{max-width:var(--maxw);margin:0 auto;position:relative;z-index:2}
.page-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,5vw,3.4rem);margin:18px 0 24px}
.page-lead{max-width:640px;color:rgba(247,245,239,.82);font-size:1.05rem}

/* services */
.svc-detail{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,7vw,90px) clamp(20px,5vw,56px);border-bottom:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:260px 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.svc-label{position:sticky;top:110px}
.svc-num{font-family:var(--serif);font-size:3.2rem;color:var(--gold);display:block;line-height:1}
.svc-en{font-family:var(--latin);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:600}
.svc-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:22px;line-height:1.4}
.svc-body>p{color:var(--ink-2);font-size:1rem;margin-bottom:26px;max-width:660px}
.svc-list{list-style:none;display:grid;gap:12px;max-width:620px}
.svc-list li{position:relative;padding-left:26px;color:var(--ink-2);font-size:.96rem}
.svc-list li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:10px;border:1.5px solid var(--gold);transform:rotate(45deg)}

/* company table */
.profile{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,7vw,90px) clamp(20px,5vw,56px)}
.profile-table{width:100%;border-top:1px solid var(--line)}
.profile-table .row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.profile-table dt{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:1rem}
.profile-table dd{color:var(--ink-2);font-size:1rem}
.profile-note{margin-top:22px;font-size:.82rem;color:var(--mute)}

/* map-ish access block */
.access{background:var(--paper-2)}
.access-inner{max-width:var(--maxw);margin:0 auto;padding:clamp(46px,6vw,80px) clamp(20px,5vw,56px)}
.access-inner h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,3vw,2rem);margin-bottom:18px}
.access-inner p{color:var(--ink-2);max-width:620px}

/* contact */
.contact-wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,7vw,90px) clamp(20px,5vw,56px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px)}
.contact-intro h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:20px;line-height:1.5}
.contact-intro p{color:var(--ink-2);margin-bottom:28px;max-width:460px}
.contact-card{border:1px solid var(--line);border-radius:4px;padding:30px;background:#fff;margin-bottom:20px}
.contact-card h3{font-family:var(--latin);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:600}
.contact-card a{font-size:1.15rem;color:var(--ink);font-family:var(--latin);font-weight:600;word-break:break-all}
.contact-card address{font-style:normal;color:var(--ink-2);line-height:1.9}
.form-field{margin-bottom:20px}
.form-field label{display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}
.form-field input,.form-field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:3px;font-family:var(--gothic);font-size:.96rem;background:#fff;color:var(--ink);transition:border-color .2s}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--gold)}
.form-field textarea{resize:vertical;min-height:130px}
.form-note{font-size:.82rem;color:var(--mute);margin-top:16px}

@media(max-width:860px){
  .svc-row{grid-template-columns:1fr;gap:18px}
  .svc-label{position:static;display:flex;align-items:center;gap:16px}
  .svc-num{font-size:2.2rem}
  .profile-table .row{grid-template-columns:1fr;gap:6px}
  .contact-wrap{grid-template-columns:1fr}
}
