@import url("./typography.css");

/* Subpage navigation */
.secondary-nav{border-bottom:1px solid var(--line);background:rgba(68,53,52,.98)}
.secondary-nav .container{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}
.secondary-nav .container::-webkit-scrollbar{display:none}
.secondary-nav a{display:flex;min-height:48px;align-items:center;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:500}
.secondary-nav a:hover{color:#fff}
.secondary-nav a[aria-current="page"]{color:#fff;font-weight:700;box-shadow:inset 0 -2px var(--accent)}

/* Hero */
.sub-hero{padding:72px 0 56px;background:var(--bg-deep);color:#fff;border-bottom:1px solid var(--line)}
.sub-hero .eyebrow{color:var(--accent)}
.sub-hero h1{max-width:760px;margin:0;color:#fff;font-size:42px;line-height:50px;font-weight:700}
.sub-lead{max-width:680px;margin:14px 0 0;color:var(--muted);font-size:16px;line-height:25px}
.breadcrumb{display:flex;gap:7px;align-items:center;margin-bottom:26px;color:var(--muted-2);font-size:12px;line-height:18px}
.breadcrumb a:hover{color:#fff}
.element-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:28px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.element-strip span{padding:14px 0;border-right:1px solid var(--line);font-size:21px;line-height:28px;font-weight:700;text-align:center;color:rgba(255,255,255,.86)}
.element-strip span:last-child{border-right:0}

/* Main page content */
.page-section{padding:48px 0 64px;background:var(--bg);border-bottom:1px solid var(--line)}
.page-layout{display:grid;gap:54px;align-items:start}
.page-copy{max-width:520px}
.page-copy .eyebrow{color:var(--accent)}
.page-copy h2{margin:0;color:#fff;font-size:30px;line-height:38px;font-weight:700}
.page-copy>p:not(.eyebrow){margin:12px 0 0;color:var(--muted);font-size:15px;line-height:24px}
.detail-list{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line-strong)}
.detail-list li{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}
.detail-list span{padding-top:2px;color:var(--accent);font-size:10px;line-height:16px;font-weight:700}
.detail-list strong{display:block;margin-bottom:3px;color:#fff;font-size:15px;line-height:22px;font-weight:700}
.detail-list p{margin:0;color:var(--muted);font-size:13px;line-height:20px}

/* Form card */
.service-form-wrap{width:100%;max-width:700px;margin-left:auto}
.service-form-wrap .reading-form{padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:var(--paper);box-shadow:0 18px 50px rgba(27,20,19,.16)}
.form-page-title{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #ded2c8}
.form-page-title .flow-step-number{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;margin-bottom:9px;border-radius:999px;background:#e9ded3;color:#59423d;font-size:10px;font-weight:700}
.form-page-title h2{margin:0;color:var(--paper-text);font-size:22px;line-height:30px;font-weight:700}
.form-page-title p{margin:7px 0 0;color:var(--paper-muted);font-size:13px;line-height:20px}
.form-group-title{margin:28px 0 16px;padding-top:22px;border-top:1px solid #ded2c8;color:var(--paper-text);font-size:14px;line-height:20px;font-weight:700}
.form-inline-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.choice-chip{position:relative;cursor:pointer}
.choice-chip input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.choice-chip span{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;border:1px solid #d9cec5;border-radius:999px;background:#fff;color:var(--paper-text);font-size:13px;line-height:19px;font-weight:700;transition:background var(--motion) var(--ease),color var(--motion) var(--ease),border-color var(--motion) var(--ease)}
.choice-chip:hover span{border-color:#a99384}
.choice-chip input:checked+span{border-color:var(--bg);background:var(--bg);color:#fff}
.page-field-row{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start}
.page-field-row .field{margin-bottom:0}
.page-field-row+.page-field-row{margin-top:16px}
.form-spacer{height:4px}
.form-submit-area{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 22px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #ded2c8}
.form-submit-area .consent-row{margin:0}
.form-submit-area .form-status{grid-column:1;min-height:0;margin:0}
.form-submit-area .button-large{grid-column:2;grid-row:1 / span 2;width:auto;min-width:220px;border-radius:999px}

/* Archive */
.archive-grid{display:grid;gap:12px;margin-top:30px;border:0;background:transparent}
.archive-item{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.archive-item span{display:block;margin-bottom:22px;color:var(--accent);font-size:11px;font-weight:700}
.archive-item h3{margin:0;color:#fff;font-size:18px;line-height:26px}
.archive-item p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:20px}

@media(min-width:1024px){
  .page-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:72px}
  .page-copy{position:sticky;top:100px}
  .archive-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:767px){
  .sub-hero{padding:56px 0 42px}
  .sub-hero h1{font-size:32px;line-height:40px}
  .sub-lead{font-size:15px;line-height:23px}
  .page-section{padding:36px 0 48px}
  .page-layout{gap:32px}
  .page-copy h2{font-size:26px;line-height:34px}
  .service-form-wrap .reading-form{padding:22px 18px;border-radius:16px}
  .page-field-row{display:block}
  .page-field-row .field{width:100%;max-width:none;margin-bottom:16px}
  .page-field-row+.page-field-row{margin-top:0}
  .form-inline-options{display:grid;grid-template-columns:1fr 1fr}
  .choice-chip span{width:100%;justify-content:center}
  .form-submit-area{grid-template-columns:1fr;gap:14px}
  .form-submit-area .consent-row,.form-submit-area .form-status,.form-submit-area .button-large{grid-column:1;grid-row:auto}
  .form-submit-area .button-large{width:100%;min-width:0}
  .archive-grid{grid-template-columns:1fr}
}

/* Signup controls: override global theme select/input rules */
.signup-card input:not([type="checkbox"]),
.signup-card select{
  width:100%!important;
  height:46px!important;
  padding:0 13px!important;
  border:1px solid #ddd2cd!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#2b2524!important;
  font-size:13px!important;
  line-height:20px!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.signup-card select{
  padding-right:38px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23543a3a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:12px 8px!important;
}
.signup-card select:hover,
.signup-card input:not([type="checkbox"]):hover{border-color:#c9bbb5!important}
.signup-card select:focus,
.signup-card input:not([type="checkbox"]):focus{border-color:#543a3a!important;box-shadow:0 0 0 3px rgba(84,58,58,.07)!important}
.signup-card .mini-check input[type="checkbox"],
.signup-card .privacy-check input[type="checkbox"]{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d5cac5!important;
  border-radius:5px!important;
  background-color:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.signup-card .mini-check input[type="checkbox"]:checked,
.signup-card .privacy-check input[type="checkbox"]:checked{
  border-color:#543a3a!important;
  background-color:#543a3a!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.2 5.7 9.8 11 4.5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:14px 14px!important;
}
.signup-card input[type="date"],
.signup-card input[type="time"]{background-color:#fff!important;color-scheme:light!important}
