:root {
   --hero-split-height:clamp(480px, 75vh, 800px);
}

.hero-split {
   position:relative;
   width:100%;
   min-height:auto;
   background-color:var(--ground);
   overflow:hidden;
   border-bottom:1px solid var(--line-light);
}

.hero-split__grid {
   display:flex;
   flex-direction:column;
   width:100%;
}

@media (min-width: 1024px) {
   .hero-split__grid {
      display:grid;
      flex-direction:row;
      grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
      min-height:var(--hero-split-height);
   }
}

@media (min-width: 1280px) {
   .hero-split__grid {
      grid-template-columns:minmax(0, 1.2fr) minmax(0, 0.8fr);
   }
}

.hero-split__content {
   display:flex;
   flex-direction:column;
   justify-content:center;
   padding:var(--space-lg) var(--space-md) var(--space-xl);
   max-width:720px;
   z-index:2;
   position:relative;
}

@media (min-width: 768px) {
   .hero-split__content {
      padding:var(--space-xl) var(--space-xl) var(--space-2xl);
   }
}

@media (min-width: 1024px) {
   .hero-split__content {
      padding:var(--space-3xl) var(--space-2xl) var(--space-4xl) calc(var(--space-2xl) + 12px);
      margin-left:auto;
      width:100%;
      max-width:680px;
   }
}

@media (min-width: 1440px) {
   .hero-split__content {
      max-width:760px;
      padding-left:var(--space-3xl);
      padding-right:var(--space-3xl);
   }
}

.hero-split__eyebrow {
   display:inline-flex;
   align-items:center;
   gap:var(--space-xs);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
   margin-bottom:var(--space-md);
}

.hero-split__heading {
   font-family:var(--togi-1f5);
   font-size:clamp(2.35rem, 4.4vw + 0.5rem, 4.85rem);
   font-weight:800;
   line-height:1.05;
   letter-spacing:-0.025em;
   color:var(--ink);
   margin-bottom:var(--space-lg);
   max-width:14ch;
   text-wrap:balance;
   will-change:transform;
}

.hero-split__lede {
   font-family:var(--togi-13c);
   font-size:var(--togi-e63);
   line-height:1.55;
   color:var(--ink);
   max-width:52ch;
   margin-bottom:var(--space-xl);
}

.hero-split__action-wrap {
   display:flex;
   align-items:center;
   margin-top:var(--space-xs);
}

.hero-split__media {
   position:relative;
   width:100%;
   aspect-ratio:3 / 2;

   overflow:hidden;
   background-color:var(--surface);
}

@media (min-width: 1024px) {
   .hero-split__media {
      position:relative;
      width:100%;
      height:100%;
      min-height:100%;
      aspect-ratio:3 / 2;

   }
}

.hero-split__img {
   width:100%;
   height:100%;
   aspect-ratio:3 / 2;
   object-fit:cover;
   object-position:63% 32%;
   display:block;
   will-change:transform;
}

@media (min-width: 1024px) {
   .hero-split__img {
      position:relative;
      width:100%;
      height:100%;
      aspect-ratio:3 / 2;
      object-fit:cover;
      object-position:63% 28%;
   }
}

.hero-split__caption {
   position:absolute;
   bottom:var(--space-md);
   right:var(--space-md);
   background-color:rgba(255, 255, 255, 0.92);
   backdrop-filter:blur(8px);
   -webkit-backdrop-filter:blur(8px);
   padding:var(--space-2xs) var(--space-sm);
   font-family:var(--togi-41f);
   font-size:0.72rem;
   letter-spacing:0.04em;
   color:var(--ink-soft);
   border:1px solid var(--line);
   max-width:280px;
}

.page-header-simple {
   padding:var(--space-3xl) 0 var(--space-xl);
   border-bottom:1px solid var(--line-light);
   background-color:var(--ground);
}

@media (min-width: 768px) {
   .page-header-simple {
      padding:var(--space-4xl) 0 var(--space-2xl);
   }
}

.page-header-simple__eyebrow {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
   margin-bottom:var(--space-sm);
   display:block;
}

.page-header-simple__title {
   font-family:var(--togi-1f5);
   font-size:clamp(2.2rem, 4vw, 3.8rem);
   font-weight:800;
   line-height:1.1;
   letter-spacing:-0.02em;
   color:var(--ink);
   max-width:18ch;
   margin-bottom:var(--space-md);
}

.page-header-simple__lede {
   font-family:var(--togi-13c);
   font-size:var(--togi-e63);
   line-height:1.55;
   color:var(--ink);
   max-width:var(--measure-prose);
}

.essay-flow {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.second-screen-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
   margin-bottom:var(--space-3xl);
}

@media (min-width: 1024px) {
   .second-screen-grid {
      grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap:var(--space-3xl);
      align-items:start;
   }
}

.second-screen-side {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}

.second-screen-figure {
   width:100%;
   border:1px solid var(--line);
   background-color:var(--surface);
   overflow:visible;
   position:relative;
   display:block;
}

.second-screen-figure picture {
   display:block;
   height:auto;
}

.second-screen-figure img {
   width:100%;
   aspect-ratio:4 / 3;

   object-fit:cover;
   display:block;
}

.second-screen-figure figcaption {
   position:relative;
   display:block;
   width:100%;
   box-sizing:border-box;
   padding:var(--space-xs) var(--space-sm);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
   background-color:var(--surface);
   border-top:1px solid var(--line-light);
}

.second-screen-card {
   position:relative;
   margin-top:var(--space-sm);
   padding:var(--space-lg);
   background-color:var(--surface);
   border:1px solid var(--line);
}

.second-screen-card h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   margin-bottom:var(--space-xs);
}

.second-screen-card p {
   font-size:var(--step--1);
   line-height:1.5;
   color:var(--ink-soft);
}

.essay-flow > p {
   font-size:var(--togi-f8b);
   line-height:1.68;
   color:var(--ink);
   max-width:var(--measure-prose);
}

.essay-flow > p + p {
   margin-top:1.35em;
}

.essay-flow h2.essay-subhead {
   font-family:var(--togi-1f5);
   font-size:clamp(1.6rem, 2.5vw, 2.35rem);
   font-weight:700;
   line-height:1.22;
   letter-spacing:-0.015em;
   margin-top:var(--space-3xl);
   margin-bottom:var(--space-md);
   max-width:28ch;
   color:var(--ink);
}

.essay-flow h3.essay-subhead-minor {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   font-weight:600;
   line-height:1.28;
   margin-top:var(--space-2xl);
   margin-bottom:var(--space-sm);
   max-width:32ch;
   color:var(--ink);
}

.essay-flow .lead-paragraph {
   font-size:clamp(1.18rem, 1.5vw, 1.4rem);
   line-height:1.6;
   font-weight:500;
   color:var(--ink);
   max-width:var(--measure-prose);
   margin-bottom:var(--space-md);
}

.essay-lead-sub {
   font-size:var(--togi-f8b);
   line-height:1.68;
   color:var(--ink-soft);
   max-width:var(--measure-prose);
   margin-bottom:var(--space-2xl);
}

.essay-intro-block {
   padding-bottom:var(--space-md);
}

.essay-quote-block {
   margin:var(--space-3xl) 0;
   padding:var(--space-xl) var(--space-xl);
   border-left:3px solid var(--accent);
   background-color:var(--surface);
   max-width:var(--measure-prose);
}

.essay-quote-block p {
   font-family:var(--togi-1f5);
   font-style:italic;
   font-size:clamp(1.2rem, 1.8vw, 1.55rem);
   line-height:1.4;
   color:var(--ink);
   margin:0;
}

.essay-quote-block cite {
   display:block;
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   font-style:normal;
   letter-spacing:0.05em;
   color:var(--ink-soft);
   margin-top:var(--space-sm);
   text-transform:uppercase;
}

.essay-divider {
   width:100%;
   height:1px;
   background-color:var(--line-light);
   margin:var(--space-3xl) 0;
   border:0;
}

.essay-meta-strip {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-lg);
   padding:var(--space-md) 0;
   margin:var(--space-xl) 0;
   border-top:1px solid var(--line);
   border-bottom:1px solid var(--line);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
}

.essay-meta-strip span strong {
   color:var(--ink);
   font-weight:500;
}

.service-narrative {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.service-spec-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   margin:var(--space-3xl) 0;
}

@media (min-width: 840px) {
   .service-spec-grid {
      grid-template-columns:repeat(3, 1fr);
   }
}

.service-spec-col {
   padding:var(--space-lg);
   background-color:var(--surface);
   border:1px solid var(--line);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
}

.service-spec-col h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   margin-bottom:var(--space-xs);
}

.service-spec-col .spec-price {
   font-family:var(--togi-41f);
   font-size:var(--togi-e63);
   font-weight:500;
   color:var(--accent);
   margin-bottom:var(--space-sm);
}

.service-spec-col p {
   font-size:var(--step--1);
   color:var(--ink-soft);
   line-height:1.45;
   margin-bottom:var(--space-md);
}

.service-spec-col .action-link {
   margin-top:auto;
   align-self:flex-start;
}

.service-breakdown-box {
   margin:var(--space-3xl) 0;
   padding:var(--space-2xl);
   border:1px solid var(--line);
   background-color:var(--ground);
}

.service-breakdown-box h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-md);
}

.service-breakdown-list {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
   margin-top:var(--space-lg);
}

@media (min-width: 768px) {
   .service-breakdown-list {
      grid-template-columns:1fr 1fr;
   }
}

.service-breakdown-item {
   padding:var(--space-md);
   background-color:var(--surface);
   border-left:2px solid var(--ink);
}

.service-breakdown-item h4 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-f8b);
   margin-bottom:var(--space-2xs);
}

.service-breakdown-item p {
   font-size:var(--step--1);
   color:var(--ink-soft);
   margin:0;
   line-height:1.45;
}

.work-essay-stream {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.work-case-plate {
   margin:var(--space-4xl) 0;
   padding-bottom:var(--space-3xl);
   border-bottom:1px solid var(--line);
}

.work-case-plate:last-child {
   border-bottom:0;
}

.work-case-header {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   margin-bottom:var(--space-lg);
}

@media (min-width: 768px) {
   .work-case-header {
      flex-direction:row;
      justify-content:space-between;
      align-items:baseline;
   }
}

.work-case-title {
   font-family:var(--togi-1f5);
   font-size:clamp(1.6rem, 2.4vw, 2.25rem);
   font-weight:700;
   letter-spacing:-0.015em;
   color:var(--ink);
}

.work-case-badge {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
   letter-spacing:0.05em;
}

.work-case-figure {
   margin:var(--space-lg) 0;
   width:100%;
}

.work-case-figure img {
   width:100%;
   aspect-ratio:16 / 10;
   object-fit:cover;
   border:1px solid var(--line);
   background-color:var(--surface);
}

.work-case-caption {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
   padding:var(--space-xs) 0;
   display:flex;
   flex-wrap:wrap;
   justify-content:space-between;
   gap:var(--space-md);
   border-bottom:1px solid var(--line-light);
}

.work-case-body {
   margin-top:var(--space-lg);
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
}

@media (min-width: 840px) {
   .work-case-body {
      grid-template-columns:1.3fr 0.7fr;
   }
}

.work-case-narrative p {
   font-size:var(--togi-f8b);
   line-height:1.6;
}

.work-case-narrative p + p {
   margin-top:1.1em;
}

.work-case-facts {
   padding:var(--space-md);
   background-color:var(--surface);
   border:1px solid var(--line-light);
   height:fit-content;
}

.work-case-facts ul {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
}

.work-case-facts li {
   display:flex;
   flex-direction:column;
   gap:2px;
}

.work-case-facts strong {
   font-size:0.7rem;
   text-transform:uppercase;
   letter-spacing:0.06em;
   color:var(--ink-soft);
}

.work-case-facts span {
   color:var(--ink);
}

.pricing-narrative {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.pricing-spectrum {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   margin:var(--space-3xl) 0;
}

@media (min-width: 860px) {
   .pricing-spectrum {
      grid-template-columns:repeat(3, 1fr);
   }
}

.pricing-card-clean {
   background-color:var(--ground);
   border:1px solid var(--line);
   padding:var(--space-xl);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   position:relative;
}

.pricing-card-clean--featured {
   border:2px solid var(--accent);
}

.pricing-card-clean__tag {
   font-family:var(--togi-41f);
   font-size:0.72rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--accent);
   margin-bottom:var(--space-xs);
}

.pricing-card-clean__title {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-xs);
}

.pricing-card-clean__figure {
   font-family:var(--togi-41f);
   font-size:clamp(1.8rem, 2.5vw, 2.5rem);
   font-weight:700;
   color:var(--ink);
   line-height:1.1;
   margin-bottom:var(--space-sm);
}

.pricing-card-clean__window {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
   margin-bottom:var(--space-md);
   padding-bottom:var(--space-sm);
   border-bottom:1px solid var(--line-light);
}

.pricing-card-clean__desc {
   font-size:var(--step--1);
   color:var(--ink);
   line-height:1.45;
   margin-bottom:var(--space-lg);
}

.pricing-card-clean__list {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
   font-size:var(--step--1);
   color:var(--ink-soft);
   margin-bottom:var(--space-xl);
}

.pricing-card-clean__list li {
   display:flex;
   align-items:baseline;
   gap:var(--space-xs);
}

.pricing-card-clean__list li::before {
   content:'—';
   color:var(--accent);
}

.pricing-factors-block {
   margin:var(--space-3xl) 0;
   padding:var(--space-2xl);
   background-color:var(--surface);
   border:1px solid var(--line);
}

.pricing-factors-block h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-md);
}

.pricing-factors-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
   margin-top:var(--space-lg);
}

@media (min-width: 768px) {
   .pricing-factors-grid {
      grid-template-columns:1fr 1fr;
   }
}

.pricing-factor-item {
   background-color:var(--ground);
   padding:var(--space-md);
   border:1px solid var(--line-light);
}

.pricing-factor-item strong {
   display:block;
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   margin-bottom:4px;
}

.pricing-factor-item p {
   font-size:var(--step--1);
   color:var(--ink-soft);
   margin:0;
   line-height:1.45;
}

.process-narrative {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.process-track {
   margin:var(--space-3xl) 0;
   position:relative;
   display:flex;
   flex-direction:column;
   gap:var(--space-2xl);
}

.process-phase {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
   padding-bottom:var(--space-2xl);
   border-bottom:1px solid var(--line-light);
}

@media (min-width: 860px) {
   .process-phase {
      grid-template-columns:220px 1fr;
      gap:var(--space-2xl);
   }
}

.process-phase__meta {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}

.process-phase__step {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   text-transform:uppercase;
   letter-spacing:0.08em;
   color:var(--accent);
}

.process-phase__timing {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   font-weight:700;
   color:var(--ink);
}

.process-phase__content h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-sm);
}

.process-phase__content p {
   font-size:var(--togi-f8b);
   line-height:1.6;
}

.process-phase__deliverables {
   margin-top:var(--space-md);
   padding:var(--space-sm) var(--space-md);
   background-color:var(--surface);
   border-left:2px solid var(--ink);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
}

.about-narrative {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.about-split-portrait {
   margin:var(--space-3xl) 0;
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
}

@media (min-width: 860px) {
   .about-split-portrait {
      grid-template-columns:1fr 1fr;
      align-items:center;
   }
}

.about-split-portrait__figure {
   width:100%;
   aspect-ratio:4 / 3;
   overflow:hidden;
   border:1px solid var(--line);
   background-color:var(--surface);
}

.about-split-portrait__figure img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.about-split-portrait__bio h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-sm);
}

.about-split-portrait__bio p {
   font-size:var(--togi-f8b);
   line-height:1.6;
}

.about-credentials-box {
   margin:var(--space-3xl) 0;
   padding:var(--space-xl);
   background-color:var(--surface);
   border:1px solid var(--line);
}

.about-credentials-box h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   margin-bottom:var(--space-sm);
}

.about-credentials-list {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
   margin-top:var(--space-md);
   font-family:var(--togi-41f);
   font-size:var(--step--1);
}

@media (min-width: 768px) {
   .about-credentials-list {
      grid-template-columns:repeat(3, 1fr);
   }
}

.about-credentials-item {
   display:flex;
   flex-direction:column;
   gap:3px;
}

.about-credentials-item strong {
   font-size:0.72rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
}

.about-credentials-item span {
   font-size:var(--togi-f8b);
   color:var(--ink);
   font-weight:500;
}

.contact-layout {
   padding:var(--space-3xl) 0 var(--space-4xl);
}

.contact-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-3xl);
   margin-top:var(--space-2xl);
}

@media (min-width: 900px) {
   .contact-grid {
      grid-template-columns:1fr 1.2fr;
   }
}

.contact-details {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}

.contact-block {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}

.contact-block h2,
.contact-block h3 {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink-soft);
}

.contact-block p {
   font-size:var(--togi-f8b);
   color:var(--ink);
   line-height:1.5;
}

.contact-block a {
   font-size:var(--togi-f8b);
   color:var(--ink);
   text-decoration:underline;
}

.contact-block a:hover {
   color:var(--accent);
}

.contact-hours-table {
   width:100%;
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   margin-top:var(--space-xs);
}

.contact-hours-table tr {
   border-bottom:1px solid var(--line-light);
}

.contact-hours-table td {
   padding:var(--space-xs) 0;
}

.contact-hours-table td:last-child {
   text-align:right;
   color:var(--ink-soft);
}

.contact-form-col {
   background-color:var(--surface);
   border:1px solid var(--line);
   padding:var(--space-2xl);
}

.contact-form-col h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-xs);
}

.contact-form-col p {
   font-size:var(--step--1);
   color:var(--ink-soft);
   margin-bottom:var(--space-xl);
}

.legal-margin-layout {
   padding:var(--space-3xl) 0 var(--space-5xl);
   max-width:var(--max-content);
   margin:0 auto;
}

.legal-margin-header {
   margin-bottom:var(--space-3xl);
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--line);
}

.legal-margin-header h1 {
   font-family:var(--togi-1f5);
   font-size:clamp(2.2rem, 3.8vw, 3.5rem);
   font-weight:800;
   margin-bottom:var(--space-sm);
}

.legal-margin-header .legal-meta {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
}

.legal-margin-row {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   padding:var(--space-xl) 0;
   border-bottom:1px solid var(--line-light);
   position:relative;
}

@media (min-width: 900px) {
   .legal-margin-row {
      display:grid;
      grid-template-columns:minmax(0, 1fr) 260px;
      gap:var(--space-3xl);
      align-items:start;
      padding:var(--space-2xl) 0;
   }
}

@media (min-width: 1200px) {
   .legal-margin-row {
      grid-template-columns:minmax(0, 1fr) 300px;
   }
}

.legal-margin-prose {
   max-width:var(--measure-prose);
}

.legal-margin-prose h2 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   font-weight:700;
   line-height:1.25;
   margin-bottom:var(--space-md);
   color:var(--ink);
}

.legal-margin-prose h3 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   font-weight:600;
   margin-top:var(--space-lg);
   margin-bottom:var(--space-xs);
   color:var(--ink);
}

.legal-margin-prose p {
   font-size:var(--togi-f8b);
   line-height:1.62;
   color:var(--ink);
}

.legal-margin-prose p + p {
   margin-top:1.15em;
}

.legal-margin-prose ul {
   margin:var(--space-md) 0;
   padding-left:var(--space-lg);
   list-style:disc;
}

.legal-margin-prose li {
   font-size:var(--togi-f8b);
   margin-bottom:var(--space-2xs);
   color:var(--ink);
}

.legal-margin-aside {
   background-color:var(--surface);
   border-left:2px solid var(--accent);
   padding:var(--space-md);
   font-family:var(--togi-41f);
   font-size:0.78rem;
   line-height:1.45;
   color:var(--ink-soft);
}

@media (min-width: 900px) {
   .legal-margin-aside {
      position:sticky;
      top:var(--space-2xl);
      background-color:var(--surface);
      border-left:2px solid var(--accent);
   }
}

.legal-margin-aside strong {
   display:block;
   font-size:0.7rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--ink);
   margin-bottom:var(--space-2xs);
}

.legal-margin-aside ul {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
   margin-top:var(--space-2xs);
}

.legal-doc-card-layout {
   padding:var(--space-3xl) 0 var(--space-5xl);
   max-width:940px;
   margin:0 auto;
}

.doc-card-frame {
   background-color:var(--ground);
   border:1px solid var(--line);
   box-shadow:0 4px 20px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
   padding:var(--space-xl);
   border-radius:var(--radius-xs);
}

@media (min-width: 768px) {
   .doc-card-frame {
      padding:var(--space-3xl);
   }
}

@media (min-width: 1024px) {
   .doc-card-frame {
      padding:var(--space-4xl);
   }
}

.doc-card-masthead {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-xl);
   margin-bottom:var(--space-2xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}

@media (min-width: 768px) {
   .doc-card-masthead {
      flex-direction:row;
      justify-content:space-between;
      align-items:flex-end;
   }
}

.doc-card-title-group h1 {
   font-family:var(--togi-1f5);
   font-size:clamp(2rem, 3.5vw, 3rem);
   font-weight:800;
   line-height:1.1;
   color:var(--ink);
   margin-bottom:var(--space-xs);
}

.doc-card-title-group p {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
}

.doc-card-meta-badge {
   font-family:var(--togi-41f);
   font-size:0.72rem;
   letter-spacing:0.06em;
   text-transform:uppercase;
   padding:var(--space-2xs) var(--space-sm);
   background-color:var(--surface);
   border:1px solid var(--line);
   height:fit-content;
}

.doc-card-body {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xl);
}

.doc-clause {
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--line-light);
}

.doc-clause:last-child {
   border-bottom:0;
   padding-bottom:0;
}

.doc-clause__num {
   font-family:var(--togi-41f);
   font-size:0.75rem;
   letter-spacing:0.08em;
   text-transform:uppercase;
   color:var(--accent);
   display:block;
   margin-bottom:var(--space-2xs);
}

.doc-clause h2 {
   font-family:var(--togi-1f5);
   font-size:var(--togi-10f);
   margin-bottom:var(--space-md);
   color:var(--ink);
}

.doc-clause p {
   font-size:var(--togi-f8b);
   line-height:1.62;
   color:var(--ink);
   max-width:var(--measure-prose);
}

.doc-clause p + p {
   margin-top:1.1em;
}

.doc-clause ul {
   margin:var(--space-md) 0;
   padding-left:var(--space-lg);
   list-style:disc;
}

.doc-clause li {
   font-size:var(--togi-f8b);
   margin-bottom:var(--space-2xs);
}

.cookie-grid-table {
   width:100%;
   margin:var(--space-lg) 0;
   border:1px solid var(--line);
   font-size:var(--step--1);
}

.cookie-grid-table th,
.cookie-grid-table td {
   padding:var(--space-sm) var(--space-md);
   border-bottom:1px solid var(--line-light);
   text-align:left;
}

.cookie-grid-table th {
   font-family:var(--togi-41f);
   font-size:0.75rem;
   text-transform:uppercase;
   letter-spacing:0.06em;
   background-color:var(--surface);
   color:var(--ink);
}

.cookie-grid-table code {
   font-family:var(--togi-41f);
   font-weight:500;
   color:var(--ink);
}

.legal-statute-layout {
   padding:var(--space-3xl) 0 var(--space-5xl);
   max-width:1100px;
   margin:0 auto;
}

.statute-header {
   margin-bottom:var(--space-3xl);
   padding-bottom:var(--space-xl);
   border-bottom:2px solid var(--ink);
}

.statute-header h1 {
   font-family:var(--togi-1f5);
   font-size:clamp(2.2rem, 3.8vw, 3.5rem);
   font-weight:800;
   letter-spacing:-0.02em;
   margin-bottom:var(--space-sm);
}

.statute-header .statute-meta {
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--ink-soft);
}

.statute-columns {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xl);
}

@media (min-width: 860px) {
   .statute-columns {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:var(--space-3xl);
      position:relative;
   }

   .statute-columns::before {
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      left:50%;
      width:1px;
      background-color:var(--line);
      transform:translateX(-50%);
   }
}

.statute-col {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}

.statute-entry {
   font-size:0.95rem;
   line-height:1.58;
   color:var(--ink);
   text-align:justify;
   text-justify:inter-word;
}

.statute-run-in {
   font-family:var(--togi-1f5);
   font-variant:small-caps;
   font-size:1.05em;
   font-weight:700;
   letter-spacing:0.05em;
   color:var(--ink);
   margin-right:0.4em;
}

.statute-entry p + p {
   margin-top:0.85em;
}

.statute-warranty-box {
   margin:var(--space-2xl) 0;
   padding:var(--space-lg);
   border:1px solid var(--accent);
   background-color:var(--surface);
}

.statute-warranty-box strong {
   display:block;
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   color:var(--accent);
   text-transform:uppercase;
   letter-spacing:0.08em;
   margin-bottom:var(--space-xs);
}

.statute-warranty-box p {
   font-size:0.92rem;
   line-height:1.5;
   color:var(--ink);
}

.faq-accordion {
   margin:var(--space-3xl) 0;
   border-top:1px solid var(--line);
}

.faq-item {
   border-bottom:1px solid var(--line);
}

.faq-trigger {
   width:100%;
   padding:var(--space-lg) 0;
   display:flex;
   align-items:baseline;
   justify-content:space-between;
   gap:var(--space-md);
   text-align:left;
   background:none;
   border:none;
   cursor:pointer;
   transition:color var(--duration-fast) var(--ease-standard);
}

.faq-trigger:hover {
   color:var(--accent);
}

.faq-trigger:active {
   color:#233758;
}

.faq-trigger:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:3px;
}

.faq-question {
   font-family:var(--togi-1f5);
   font-size:var(--togi-e63);
   font-weight:600;
   color:var(--ink);
   line-height:1.3;
}

.faq-trigger:hover .faq-question {
   color:var(--accent);
}

.faq-icon {
   width:1.25rem;
   height:1.25rem;
   color:var(--ink-soft);
   flex-shrink:0;
   transition:transform var(--duration-medium) var(--ease-standard);
}

.faq-trigger[aria-expanded='true'] .faq-icon {
   transform:rotate(180deg);
   color:var(--accent);
}

.faq-panel {
   padding-bottom:var(--space-lg);
   padding-right:var(--space-2xl);
   display:none;
}

.faq-panel.is-open,
.faq-trigger[aria-expanded='true'] + .faq-panel {
   display:block;
}

.faq-panel p {
   font-size:var(--togi-f8b);
   line-height:1.62;
   color:var(--ink-soft);
}

.faq-panel p + p {
   margin-top:1em;
}

.error-page {
   padding:var(--space-5xl) 0;
   min-height:70vh;
   display:flex;
   align-items:center;
}

.error-page__inner {
   max-width:640px;
}

.error-code {
   font-family:var(--togi-41f);
   font-size:clamp(3rem, 7vw, 6rem);
   font-weight:700;
   color:var(--line);
   line-height:1;
   margin-bottom:var(--space-sm);
}

.error-title {
   font-family:var(--togi-1f5);
   font-size:var(--togi-7ed);
   font-weight:800;
   margin-bottom:var(--space-md);
   color:var(--ink);
}

.error-desc {
   font-size:var(--togi-e63);
   line-height:1.5;
   color:var(--ink-soft);
   margin-bottom:var(--space-xl);
}

.error-actions {
   display:flex;
   gap:var(--space-md);
}

.scope-tool__breakdown-table {
   width:100%;
   font-family:var(--togi-41f);
   font-size:var(--step--1);
   margin:var(--space-md) 0;
}

.scope-tool__breakdown-table tr {
   border-bottom:1px solid var(--line-light);
}

.scope-tool__breakdown-table td {
   padding:var(--space-2xs) 0;
}

.scope-tool__breakdown-table td:last-child {
   text-align:right;
   font-weight:500;
   color:var(--ink);
}

.scope-tool__badge {
   display:inline-block;
   padding:2px 8px;
   background-color:var(--surface);
   border:1px solid var(--line);
   font-family:var(--togi-41f);
   font-size:0.72rem;
   letter-spacing:0.05em;
   text-transform:uppercase;
   color:var(--ink);
   margin-top:var(--space-xs);
}

@media (max-width: 600px) {
   .hero-split__heading {
      max-width:100%;
   }

   .essay-inset {
      padding:var(--space-lg);
   }

   .form-block {
      padding:var(--space-lg);
   }

   .scope-tool {
      padding:var(--space-lg);
   }

   .doc-card-frame {
      padding:var(--space-lg);
   }

   .contact-form-col {
      padding:var(--space-lg);
   }
}
