/* Readable navigation and supporting labels; retain the established headline scale. */
header:has(#navigation){height:auto;min-height:110px;gap:28px;padding-block:18px}
#navigation{font-size:20px;gap:24px;line-height:1.45}
#navigation a{white-space:nowrap}
.brand{font-size:16px}.brand small{font-size:10px;letter-spacing:1px}
.hero-blend .hero-copy{width:43%;max-width:550px;padding:55px 0 65px}
.hero-photo{width:57%;height:auto;aspect-ratio:3/2;top:50%;transform:translateY(-50%);mask-image:linear-gradient(to right,transparent,#000 18%);-webkit-mask-image:linear-gradient(to right,transparent,#000 18%)}
.hero-photo img{height:auto;object-fit:contain;object-position:center}
.hero-blend:after{background:linear-gradient(0deg,var(--paper),transparent 9%,transparent 91%,var(--paper))}
.hero-blend .eyebrow{font-size:16px;letter-spacing:1.7px;line-height:1.6}
.hero-blend .intro{font-size:16px;max-width:430px}
.hero-blend .hero-actions{flex-direction:column;align-items:flex-start;gap:24px}
.hero-blend .button,.hero-blend .text-link{font-size:20px}
.hero-foot{font-size:16px;line-height:1.7;max-width:410px;align-items:baseline}
.status-dot{flex:none}.hero-credit{font-size:14px;bottom:20px}
#main .eyebrow{font-size:16px;letter-spacing:1.5px;line-height:1.6}
#main .button,#main .text-link{font-size:18px}
#main .hero-blend .button,#main .hero-blend .text-link{font-size:20px}
.credentials p,.event-date span,.featured-event .eyebrow,.archive-entry .eyebrow{font-size:16px}
.number,.editorial-link>span,.editorial-link b,.tags li,.resource-link,.archive-controls>span{font-size:16px}
.connect-links a,.contact-method small,.sources p,.form-help,.form-card>p,.privacy p{font-size:16px}
#main label{font-size:18px}#main input,#main select,#main textarea{font-size:16px}
.footer-top>a:last-child,.footer-bottom{font-size:16px}
/* Keep the full approved mark safely inside its box, with visible breathing room. */
.approved-logo,.letterhead .approved-logo{width:116px;height:64px}
.approved-logo img,.letterhead .approved-logo img{width:116px!important;left:0!important;top:-6px!important}
.letterhead .approved-logo{margin-left:4px}
@media(max-width:1600px) and (min-width:1051px){header:has(#navigation){flex-wrap:wrap;justify-content:center;gap:10px;padding-block:14px}header:has(#navigation) .brand>span:last-child{display:block}#navigation{width:100%;justify-content:center;font-size:20px;gap:28px}}
@media(max-width:1150px){.hero-blend .hero-copy{width:44%}.hero-blend .eyebrow{font-size:14px}.hero-blend .button,.hero-blend .text-link,#main .hero-blend .button,#main .hero-blend .text-link{font-size:18px}.hero-blend .button{gap:16px}.hero-blend h1{font-size:50px}}
@media(max-width:1050px){header:has(#navigation){height:100px;min-height:100px;padding:14px 24px}.brand>span:last-child{display:block}.menu-toggle{display:flex;align-items:center;gap:15px;font-size:20px;background:none;border:0;color:var(--ink);padding:10px}#navigation{display:none;position:absolute;top:99px;left:0;right:0;z-index:9;background:var(--paper);padding:24px;box-shadow:0 10px 15px #142d3612}#navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:16px}#navigation a:last-child{justify-content:space-between}.hero-blend .hero-copy{width:46%}.hero-photo{width:55%}.hero-blend h1{font-size:44px}}
@media(max-width:760px){header:has(#navigation){padding-inline:20px}.brand{font-size:12px;gap:10px}.brand small{font-size:8px;letter-spacing:.5px}.brand .approved-logo{width:85px;height:51px}.brand .approved-logo img{width:85px!important;top:-3px!important}.hero-blend .hero-copy{width:100%;max-width:none;padding:35px 0 24px}.hero-blend h1{font-size:clamp(38px,10vw,57px)}.hero-blend .intro{font-size:16px;max-width:100%}.hero-blend .eyebrow,#main .hero-blend .eyebrow{font-size:14px;letter-spacing:1px}.hero-blend .hero-actions{flex-direction:column;align-items:flex-start}.hero-photo{position:relative;top:auto;right:auto;transform:none;width:100%;height:auto;aspect-ratio:3/2;margin-top:10px;mask-image:linear-gradient(0deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 8%,#000 92%,transparent)}.hero-blend:after{background:none}.hero-credit{position:static;align-self:flex-end;padding:8px 20px 20px;font-size:13px}.hero-foot{font-size:16px;margin-top:25px}.credentials p{font-size:16px}.credentials>div{padding-inline:12px!important}.event-date span{font-size:13px}.featured-event{grid-template-columns:65px 1fr}.archive-entry{grid-template-columns:65px 1fr;gap:18px}.footer-bottom{font-size:16px}.letterhead .approved-logo{width:90px;height:52px;margin-left:0}.letterhead .approved-logo img{width:90px!important;top:-4px!important}.letterhead>div{max-width:70%}}
@media print{.letterhead .approved-logo{width:116px;height:64px;margin-left:4px}.letterhead .approved-logo img{width:116px!important;left:0!important;top:-6px!important}}

@media(max-width:760px){header:has(#navigation){gap:12px}.brand small{display:none}.menu-toggle{gap:10px;padding-inline:0}}

/* Comfortable workspace reading sizes. Printed documents retain their A4 typography. */
@media screen {
  .portal-shell{font-size:18px;line-height:1.65}
  .portal-brand{font-size:21px;letter-spacing:.04em}
  .portal-brand small{font-size:14px;letter-spacing:.1em}
  .portal-header nav{font-size:20px;gap:24px;line-height:1.5}
  .portal-header nav a,.portal-header nav .quiet-button{padding-block:10px}
  .portal-footer{font-size:16px}
  .workspace-heading p,.creation-cards p,.creation-cards b{font-size:18px}
  .workspace-heading>.eyebrow,.creation-cards span{font-size:15px;line-height:1.6}
  .creation-cards h2{font-size:30px}
  .portal-main .panel h2{font-size:28px}
  .portal-main .panel h3{font-size:21px;line-height:1.4}
  .panel-heading span,.preview-label{font-size:14px;line-height:1.6}
  .records{font-size:18px;min-width:760px}
  .records th{font-size:14px}
  .records td,.records th{padding:18px 14px}
  .status-tag{font-size:14px!important;padding:5px 12px}
  .portal-main .notice,.login-card .notice{font-size:17px}
  .portal-form label,#main .login-card label{font-size:18px;line-height:1.5;gap:9px}
  .portal-form input,.portal-form select,.portal-form textarea,
  #main .login-card input,#main .login-card select,#main .login-card textarea{font-size:18px;min-height:50px;padding:12px 14px}
  .portal-form .check-field input{width:20px;height:20px;min-height:20px;padding:0;flex:none}
  .portal-form p,.portal-form summary{font-size:17px;line-height:1.65}
  .portal-form .button,.portal-shell .button,.portal-shell .quiet-button,
  .editor-form .text-link,.login-card .button{font-size:18px;line-height:1.5}
  .portal-shell .quiet-button{min-height:44px}
  .editor-toolbar{font-size:18px;line-height:1.5;flex-wrap:wrap}
  .editor-toolbar>div{flex-wrap:wrap}
  .item-editor .panel-heading,.editor-total{font-size:18px}
  .tax-row{grid-template-columns:minmax(0,1fr) 105px auto}
  .login-story p{font-size:20px}
  .login-card h2{font-size:32px}
  .login-card>p,.owner-entry{font-size:18px;line-height:1.6}
  .enquiry-card p{font-size:18px}
  .enquiry-card small{font-size:15px}
  .print-tools,.print-tools .button{font-size:18px}
  .print-tools p{font-size:16px}
}
@media screen and (max-width:650px){
  .portal-brand{font-size:18px}
  .portal-brand small{font-size:13px}
  .portal-header nav{font-size:18px;gap:8px 20px}
  .editor-toolbar>div{align-items:flex-start;flex-direction:row;gap:14px}
  .editor-toolbar .button{font-size:18px;padding:12px 16px}
  .item-numbers{grid-template-columns:1fr}
  .tax-row{grid-template-columns:minmax(0,1fr) 95px}
  .tax-row .quiet-button{font-size:18px;grid-column:1/-1;justify-self:start}
  .login-card{padding:26px 22px}
}
/* Private workspace tutorial */
.tutorial-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;margin:24px 0;background:#e9eee7;border:1px solid #cbd5ca;border-left:4px solid #a3834d;text-decoration:none;font-size:18px;line-height:1.6;border-radius:4px}
.tutorial-banner strong{display:block;font-weight:600;color:#163640}.tutorial-banner b{white-space:nowrap;font-weight:500;text-decoration:underline;text-underline-offset:5px}
.tutorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}.tutorial-viewer{min-width:0}.tutorial-viewer video{display:block;width:100%;aspect-ratio:16/9;background:#163640;border-radius:5px}.tutorial-video-meta{font-size:17px;line-height:1.5;color:#596c67;margin:15px 0 25px}
.tutorial-chapters{padding:23px}.tutorial-chapters h2{margin:0 0 18px;font-size:23px}.tutorial-chapters button{display:flex;align-items:baseline;gap:15px;text-align:left;width:100%;padding:13px 10px;margin:3px 0;border:0;border-radius:3px;color:#19343d;background:transparent;font:400 17px/1.5 Poppins,sans-serif;cursor:pointer}.tutorial-chapters button span{font-size:15px;font-variant-numeric:tabular-nums;color:#596c67;flex:0 0 38px}.tutorial-chapters button:hover,.tutorial-chapters button[aria-current="step"]{background:#e9eee7}.tutorial-chapters button[aria-current="step"]{font-weight:500;box-shadow:inset 3px 0 #a3834d}.tutorial-chapters button:focus-visible,.tutorial-banner:focus-visible{outline:3px solid #a3834d;outline-offset:3px}
.tutorial-transcript{margin-top:25px}.tutorial-transcript summary{font-size:20px;font-weight:500;cursor:pointer}.tutorial-transcript section{padding:20px 0;border-bottom:1px solid #e3e7df}.tutorial-transcript section:last-child{border:0}.tutorial-transcript h2{font-size:21px;margin:0 0 10px}.tutorial-transcript p,.tutorial-note{font-size:18px;line-height:1.8}.tutorial-note{color:#596c67;margin-top:24px}
@media(max-width:1100px){.tutorial-layout{grid-template-columns:1fr}.tutorial-chapters{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.tutorial-chapters h2{grid-column:1/-1}}
@media(max-width:650px){.tutorial-banner{align-items:flex-start;flex-direction:column;gap:12px;padding:20px}.tutorial-chapters{grid-template-columns:1fr}.tutorial-chapters button{font-size:18px;min-height:48px}.tutorial-video-meta{font-size:16px}}
