/* Shared finishing details and responsive rhythm. Keep after audience-specific
   styles. Connected panels round only their perimeter, not internal seams. */
body[data-audience]{--landing-control-radius:var(--control-radius);--landing-card-radius:var(--card-radius);--landing-card-inner-radius:var(--card-inner-radius);}
body[data-audience] :is(.button,.skip-link,.feature-tag,.phone-alert-icon),
body[data-audience] .form-field :is(input,textarea,select){border-radius:var(--landing-control-radius);}
body[data-audience] :is(.space-card,.process-card,.alert-proof,.product-stage,
    .plan-panel,.quote-panel,.capability-caveat,.subscription-explainer,
    .audience-app-reading,.phone-alert-preview){border-radius:var(--landing-card-radius);}
body[data-audience] .alert-field-list li{border-radius:var(--landing-control-radius);}
/* Accent brackets follow the panel instead of drawing square corners over it. */
body[data-audience] .product-stage::before{border-top-left-radius:var(--landing-card-radius);}
body[data-audience] .product-stage::after{border-bottom-right-radius:var(--landing-card-radius);}
body[data-audience] .quote-copy{border-radius:var(--landing-card-inner-radius) 0 0 var(--landing-card-inner-radius);}
/* This variant is an unboxed accent rule, not a filled callout. */
body[data-audience="schools"] .subscription-explainer{border-radius:0;}

/* Match the workflow and capability panel outlines to the standalone cards.
   Corner children follow the inside of the 1px border without clipping focus. */
@media(min-width:1121px){
  body[data-audience] .feature-grid,
  body[data-audience] .workflow-section .process-grid{border-radius:var(--landing-card-radius);}
  body[data-audience] .workflow-section .process-card{border-radius:0;}
  body[data-audience] .workflow-section .process-card:first-child{border-radius:5px 0 0 5px;}
  body[data-audience] .workflow-section .process-card:last-child{border-radius:0 5px 5px 0;}
  body[data-audience] .feature-card:first-child{border-top-left-radius:5px;}
  body[data-audience] .feature-card:nth-child(3){border-top-right-radius:5px;}
  body[data-audience] .feature-card:nth-last-child(3){border-bottom-left-radius:5px;}
  body[data-audience] .feature-card:last-child{border-bottom-right-radius:5px;}
}

.header-quote-short{display:none;}

/* Shared audience identity: Schools navigation, rental-page breathing room,
   quiet gold lighting, and red notification indicators matching the homepage. */
body[data-audience]{
  --page:1240px;
  --accent-rgb:201,168,76;
  background:radial-gradient(circle at 84% 9%,rgba(var(--accent-rgb),.1),transparent 25rem),var(--black);
}
body[data-audience] .site-header{
  border-color:rgba(201,168,76,.12);
  background:rgba(2,2,2,.9);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
body[data-audience] .site-header.is-scrolled{
  border-color:rgba(201,168,76,.28);
  box-shadow:0 14px 40px rgba(0,0,0,.44);
}
body[data-audience] .brand-lockup{gap:.9rem;min-width:0;flex-shrink:0;}
body[data-audience] .brand-lockup img{width:124px;}
body[data-audience] .brand-context{
  padding-left:.9rem;
  border-left:1px solid var(--line-strong);
  color:#a69c8f;
  font-family:'Josefin Sans',sans-serif;
  font-size:.61rem;
  font-weight:300;
  letter-spacing:.18em;
  line-height:1.3;
  text-transform:uppercase;
  white-space:nowrap;
}
body[data-audience] .landing-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1.2rem,2.4vw,2.4rem);
}
body[data-audience] .landing-nav a{
  position:relative;
  padding:.6rem 0;
  color:#aaa095;
  font-family:'Josefin Sans',sans-serif;
  font-size:.63rem;
  font-weight:300;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .2s;
}
body[data-audience] .landing-nav a::after{
  content:'';
  position:absolute;
  right:0;
  bottom:.25rem;
  left:0;
  height:1px;
  background:var(--gold-2);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
body[data-audience] .landing-nav a:hover,
body[data-audience] .landing-nav a:focus-visible{color:var(--white);}
body[data-audience] .landing-nav a:hover::after,
body[data-audience] .landing-nav a:focus-visible::after{transform:scaleX(1);}
body[data-audience] .button-small{min-height:44px;}
body[data-audience] .audience-hero{padding:calc(var(--header) + 3.5rem) 0 3.5rem;}
body[data-audience] .audience-hero::after{display:block;}
body[data-audience] .hero-inner{
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(2rem,5vw,6rem);
}
body[data-audience] .phone-alert-status{
  background:#e03030;
  box-shadow:0 0 0 3px rgba(224,48,48,.13);
}
body[data-audience] .audience-app-heading small i{
  background:var(--gold-2);
  box-shadow:0 0 7px rgba(225,189,76,.45);
}
@media(prefers-reduced-motion:reduce){
  body[data-audience] .landing-nav a::after{transition:none;}
}

@media(max-width:1120px){
  body[data-audience] .landing-nav{display:none;}
  body[data-audience]{
    --landing-gutter:clamp(20px,6vw,48px);
    --landing-section-space:clamp(5rem,10vw,6rem);
    --landing-card-space:clamp(24px,4vw,32px);
    overflow-wrap:anywhere;
  }
  body[data-audience] :is(.header-inner,.hero-inner,.privacy-inner,.section-inner,.footer-inner,.legal-note){
    width:calc(100% - var(--landing-gutter) * 2);
  }
  body[data-audience] :is(.hero-inner,.section-inner,.privacy-inner,.footer-inner,.legal-note){max-width:48rem;}
  body[data-audience] .audience-hero{
    min-height:0;
    padding:calc(var(--header) + 4rem) 0 var(--landing-section-space);
  }
  body[data-audience] .audience-hero::before{opacity:.45;}
  body[data-audience] .audience-hero::after{opacity:.4;}
  body[data-audience] .phone-hero .hero-inner{grid-template-columns:minmax(0,1fr);gap:3.5rem;}
  body[data-audience] .hero-copy{min-width:0;padding-top:0;}
  body[data-audience] :is(h1,h2,h3,.plan-price strong,.button){overflow-wrap:anywhere;}
  body[data-audience] .hero-copy h1{
    max-width:46rem;
    font-size:clamp(2.65rem,6.9vw,4.5rem);
    letter-spacing:-.025em;
    line-height:1.05;
  }
  body[data-audience] .hero-copy h1 em{margin-top:.1em;}
  body[data-audience] .hero-lede{margin-top:1.75rem;font-size:1.125rem;line-height:1.7;max-width:39rem;}
  body[data-audience] .eyebrow{
    font-size:.75rem;
    letter-spacing:.12em;
    line-height:1.6;
    margin-bottom:1.5rem;
  }
  body[data-audience] .eyebrow::before{flex:0 0 20px;width:20px;}
  body[data-audience] .hero-actions{margin-top:2rem;gap:.75rem;}
  body[data-audience] .button{font-size:.75rem;letter-spacing:.1em;line-height:1.5;min-height:48px;}
  body[data-audience] .hero-actions .button-secondary{
    background:transparent;
    border-color:transparent;
    color:var(--text);
    box-shadow:none;
  }
  body[data-audience] .hero-actions .button-secondary:focus-visible{outline:2px solid var(--gold-3);outline-offset:3px;}
  body[data-audience] .hero-proof{
    max-width:none;
    margin-top:1.75rem;
    padding-top:1.5rem;
    gap:1rem 1.5rem;
    border-top:1px solid var(--line);
  }
  body[data-audience] .proof-item{font-size:.75rem;letter-spacing:.06em;color:var(--muted);line-height:1.5;}
  body[data-audience] .proof-item::before{content:'✓';font-size:.8rem;}
  body[data-audience] .phone-hero .phone-hero-visual{min-height:0;}
  body[data-audience] .product-stage.phone-stage{
    width:100%;
    max-width:38rem;
    height:auto;
    grid-template-rows:auto auto;
    padding:1.5rem 1.5rem 2rem;
    gap:1.75rem;
    box-shadow:none;
    border-color:var(--line);
  }
  body[data-audience] .phone-stage .stage-meta{font-size:.75rem;letter-spacing:.08em;line-height:1.5;}
  body[data-audience] .audience-phone-mockup{height:560px;width:auto;max-height:none;}
  body[data-audience] .section{padding:var(--landing-section-space) 0;}
  body[data-audience] .section-head{margin-bottom:2.5rem;}
  body[data-audience] .section-title{font-size:clamp(2.3rem,5.8vw,3.5rem);line-height:1.1;letter-spacing:-.02em;}
  body[data-audience] .section-copy{margin-top:1.25rem;font-size:1.0625rem;line-height:1.7;}
  body[data-audience] :is(.feature-grid,.space-grid),
  body[data-audience] .workflow-section .process-grid,
  body[data-audience] .process-grid{
    gap:1.25rem;
    border:0;
    background:transparent;
  }
  body[data-audience] :is(.feature-card,.space-card,.process-card),
  body[data-audience] .workflow-section .process-card{
    min-width:0;
    min-height:0;
    padding:var(--landing-card-space);
    border:1px solid var(--line);
    background:var(--surface);
  }
  body[data-audience] .feature-card{display:flex;flex-direction:column;border-radius:var(--landing-card-radius);}
  body[data-audience] :is(.feature-number,.space-label,.feature-tag,.plan-badge,.plan-list-label){font-size:.75rem;letter-spacing:.08em;line-height:1.5;}
  body[data-audience] :is(.feature-card,.space-card,.process-card) h3,
  body[data-audience] .workflow-section .process-card h3{
    max-width:none;
    margin-top:1.25rem;
    font-size:1.85rem;
    line-height:1.15;
  }
  body[data-audience] :is(.feature-card,.space-card,.process-card) p{margin-top:.875rem;font-size:1.0625rem;line-height:1.7;}
  body[data-audience] .feature-tag{margin-top:auto;padding:1.5rem 0 0;border:0;color:#c8b77f;}
  body[data-audience] .space-card::after{display:none;}
  body[data-audience] .plan-panel{grid-template-columns:minmax(0,1fr);}
  body[data-audience] .plan-price{border-right:0;border-bottom:1px solid var(--line);}
  body[data-audience] :is(.plan-price,.plan-details,.quote-copy,.quote-form){min-width:0;padding:2rem var(--landing-card-space);}
  body[data-audience] .plan-price strong{max-width:none;font-size:2.75rem;line-height:1.1;}
  body[data-audience] .plan-note{font-size:1rem;line-height:1.7;}
  body[data-audience] .plan-details h3{font-size:2rem;line-height:1.2;}
  body[data-audience] .plan-details>p{margin-top:1rem;font-size:1.0625rem;line-height:1.7;}
  body[data-audience] .subscription-explainer{margin-top:1.75rem;padding:.25rem 0 .25rem 1.125rem;background:transparent;}
  body[data-audience] .subscription-explainer{border-radius:0;}
  body[data-audience] .subscription-explainer strong{font-size:.75rem;letter-spacing:.08em;line-height:1.6;}
  body[data-audience] .subscription-explainer p{margin-top:.75rem;font-size:1rem;line-height:1.7;}
  body[data-audience] .plan-list{gap:.75rem;}
  body[data-audience] .plan-list li{font-size:1rem;line-height:1.65;}
  body[data-audience] .cloud-facts{gap:.75rem;}
  body[data-audience] .cloud-facts li{font-size:1rem;line-height:1.65;}
  body[data-audience] .plan-actions{margin-top:2rem;gap:1rem;}
  body[data-audience] .quote-panel{grid-template-columns:minmax(0,1fr);}
  body[data-audience] .quote-copy{border-right:0;border-bottom:1px solid var(--line);border-radius:var(--landing-card-inner-radius) var(--landing-card-inner-radius) 0 0;}
  body[data-audience] .quote-copy h2{font-size:clamp(2.3rem,5.8vw,3.5rem);line-height:1.1;letter-spacing:-.02em;}
  body[data-audience] .quote-copy p{font-size:1.0625rem;line-height:1.7;}
  body[data-audience] .contact-links{gap:.75rem;}
  body[data-audience] .contact-links a{font-size:.875rem;letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere;}
  body[data-audience] .form-grid{gap:1.5rem;}
  body[data-audience] .form-field{min-width:0;gap:.625rem;}
  body[data-audience] .form-field label{font-size:.875rem;letter-spacing:.06em;line-height:1.5;}
  body[data-audience] .form-field :is(input,textarea,select){font-size:1.0625rem;}
  body[data-audience] .form-field textarea{min-height:140px;}
  body[data-audience] .form-actions{gap:1rem;margin-top:1.75rem;}
  body[data-audience] .form-note{font-size:1rem;line-height:1.6;}
  body[data-audience] .faq-item summary{padding:1.5rem 2.5rem 1.5rem 0;font-size:1.5rem;line-height:1.3;}
  body[data-audience] .faq-answer{padding:0 1.5rem 1.5rem 0;font-size:1.0625rem;line-height:1.7;}
  body[data-audience] .quote-section{padding-top:1rem;}
  body[data-audience] .legal-note{font-size:.9375rem;line-height:1.65;margin-bottom:2.5rem;}
  body[data-audience] .footer-inner{align-items:flex-start;flex-direction:column;gap:1.5rem;}
  body[data-audience] .footer-name{font-size:.75rem;letter-spacing:.16em;}
  body[data-audience] .footer-meta{font-size:.75rem;letter-spacing:.03em;line-height:2;text-align:left;overflow-wrap:anywhere;}
}

@media(max-width:900px){
  body[data-audience] .process-grid{grid-template-columns:minmax(0,1fr);}
}

@media(max-width:760px){
  :root{--header:max(72px,4.5rem);}
  /* Target margins also update correctly when WebKit enlarges the root text. */
  html{scroll-padding-top:0;}
  body[data-audience] :is(section[id],main[id]){scroll-margin-top:calc(var(--header) + 1rem);}
  body[data-audience] .header-inner{gap:12px;}
  body[data-audience] :is(.brand,.brand-lockup){min-width:0;flex-shrink:0;}
  body[data-audience] :is(.brand,.brand-lockup) img{width:108px;}
  body[data-audience] :is(.brand-context,.back-link,.landing-nav,.header-quote-full){display:none;}
  body[data-audience] .header-quote-short{display:inline;}
  body[data-audience] .header-actions{min-width:0;gap:0;}
  body[data-audience] .button-small{min-height:44px;gap:6px;padding:12px 14px;font-size:.75rem;letter-spacing:.06em;}
  body[data-audience] .audience-hero{padding-top:calc(var(--header) + 3.5rem);}
  body[data-audience] .eyebrow::before{display:none;}
  body[data-audience] .hero-copy h1{font-size:clamp(2.65rem,10.5vw,3.75rem);}
  body[data-audience] .hero-lede{margin-top:1.5rem;}
  body[data-audience] .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;}
  body[data-audience] .hero-actions .button{width:100%;padding:1rem;letter-spacing:.08em;}
  body[data-audience] .hero-proof{display:grid;grid-template-columns:minmax(0,1fr);gap:.875rem;}
  body[data-audience] .product-stage.phone-stage{padding:1.25rem 1rem 1.75rem;gap:1.5rem;}
  body[data-audience] .phone-stage .stage-meta span:last-child{display:none;}
  body[data-audience] .audience-phone-mockup{height:clamp(460px,130vw,560px);}
  body[data-audience] .privacy-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  body[data-audience] .privacy-intro{grid-column:1/-1;min-height:0;padding:2rem 0;border-right:0;border-bottom:1px solid var(--line);}
  body[data-audience] .privacy-stat{min-height:120px;padding:1.5rem .75rem;border:0;border-bottom:1px solid var(--line);text-align:center;}
  body[data-audience] .privacy-stat:nth-child(2){border-right:1px solid var(--line);}
  body[data-audience] .privacy-stat:nth-child(3){border-bottom:1px solid var(--line);}
  body[data-audience] .privacy-stat:nth-child(4){grid-column:1/-1;border:0;}
  body[data-audience] .stat-label{font-size:.75rem;letter-spacing:.06em;line-height:1.5;}
  body[data-audience] .stat-value{font-size:2.6rem;}
  body[data-audience] :is(.feature-grid,.space-grid,.plan-columns,.form-grid,.cloud-facts){grid-template-columns:minmax(0,1fr);}
  body[data-audience] :is(.feature-card,.space-card):last-child{grid-column:auto;min-height:0;}
  body[data-audience] .form-field.full{grid-column:auto;}
  body[data-audience] .section-head.centered{text-align:left;}
  body[data-audience] .section-head.centered .eyebrow{justify-content:flex-start;}
  body[data-audience] .alert-proof{padding:var(--landing-card-space);grid-template-columns:minmax(0,1fr);gap:1.5rem;}
  body[data-audience] .alert-proof-copy{grid-row:auto;}
  body[data-audience] .alert-proof-copy span{font-size:.75rem;letter-spacing:.08em;}
  body[data-audience] .alert-field-list{grid-template-columns:minmax(0,1fr);gap:.75rem;}
  body[data-audience] .alert-field-list li{font-size:1rem;}
  body[data-audience] .alert-proof>p{font-size:1rem;line-height:1.65;}
  body[data-audience] .capability-caveat{margin-top:1.5rem;padding:1rem 1.125rem;font-size:1rem;line-height:1.65;}
  body[data-audience] :is(.plan-actions,.form-actions){display:grid;grid-template-columns:minmax(0,1fr);}
  body[data-audience] :is(.plan-actions,.form-actions) .button{width:100%;white-space:normal;}
}

@media(max-width:360px){
  body[data-audience]{--landing-gutter:20px;}
  body[data-audience] :is(.brand,.brand-lockup) img{width:96px;}
  body[data-audience] .button-small{padding:12px 10px;letter-spacing:.02em;}
}

/* Shared readable labels; the phone preview is an intentionally scaled device. */
@media(min-width:1121px){
  body[data-audience] .form-field label{font-size:.8125rem;letter-spacing:.1em;}
  body[data-audience] :is(.form-note,.notes-count,.footer-meta){font-size:.8125rem;}
  body[data-audience] :is(.landing-nav a,.brand-context){font-size:.75rem;letter-spacing:.1em;}
}
