/* Company, contact and policy pages. Scoped to preserve product layouts. */
.company-page { --company-line: #dce3d8; --company-ink: #111813; --company-green: #306339; --company-lime: #b7ee63; }
.company-page .company-hero { padding-block: clamp(3.5rem, 7vw, 6.5rem); position: relative; overflow: hidden; }
.company-page .company-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 85% 20%, #b7ee6310, transparent 52%); }
.company-page .company-hero > .wrap { position: relative; }
.company-page .company-hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.company-page .company-hero-copy { min-width: 0; }
.company-page .company-hero-grid h1 { max-width: 18ch; font-size: clamp(2.4rem, 3.6vw, 4rem); letter-spacing: -.045em; line-height: 1.08; }
.company-page .company-hero .lede { font-size: 1.05rem; line-height: 1.8; }
.company-page .company-text-link { display: inline-flex; gap: 1rem; align-items: center; font-weight: 600; font-size: .9rem; text-decoration: none; border-bottom: 1px solid #b7ee6370; padding-block: .65rem; }
.company-page .company-text-link span { color: var(--company-lime); }
.company-page .cta-row .button { display: inline-flex; align-items: center; gap: 1.5rem; }
.company-page :is(h2[id], .chapter[id]) { scroll-margin-top: 7rem; }
.build-canvas, .story-canvas { background: #1c261d; border: 1px solid #ffffff20; border-radius: 24px; padding: clamp(1.2rem, 3vw, 2rem); box-shadow: 0 32px 90px #0003; }
.canvas-topline { display: flex; align-items: center; gap: .5rem; font-size: .6rem; letter-spacing: .16em; font-weight: 600; color: #c0ccbc; }
.canvas-topline > span:last-child { margin-left: auto; font-size: 1.15rem; }
.canvas-dot { display: inline-block; height: 7px; width: 7px; border-radius: 50%; background: var(--company-lime); box-shadow: 0 0 0 4px #b7ee6314; flex-shrink: 0; }
.canvas-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin-top: 2.5rem; }
.canvas-inputs span { border: 1px solid #ffffff26; border-radius: 9px; padding: .85rem .4rem; font-size: .66rem; text-align: center; color: #dbe3d7; background: #ffffff04; }
.canvas-connector { height: 55px; display: flex; justify-content: space-around; margin-inline: 16%; }
.canvas-connector i { width: 1px; background: linear-gradient(#5a6e52, #b7ee63); position: relative; }
.canvas-connector i::after { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--company-lime); position: absolute; bottom: 5px; left: -1.5px; }
.canvas-core { border: 1px solid #b7ee6360; background: #b7ee6310; border-radius: 14px; padding: 1.5rem; display: flex; align-items: center; gap: 1rem; }
.canvas-core small { display: block; font-size: .56rem; letter-spacing: .12em; color: #a7bba0; margin-bottom: .5rem; }
.canvas-core strong { display: block; font-family: var(--font-display); font-size: clamp(.95rem, 1.5vw, 1.3rem); line-height: 1.4; }
.canvas-app-mark { display: grid; grid-template-columns: repeat(2, 14px); gap: 4px; transform: rotate(-6deg); }
.canvas-app-mark i { width: 14px; height: 14px; background: #52654c; border-radius: 3px; }
.canvas-app-mark i:last-child { background: var(--company-lime); }
.canvas-output { display: flex; align-items: center; gap: .9rem; padding: 1.5rem .25rem; }
.canvas-output > span { display: grid; place-items: center; width: 30px; height: 30px; background: var(--company-lime); color: #182218; border-radius: 50%; flex-shrink: 0; font-size: .85rem; }
.canvas-output strong { font-size: .8rem; }.canvas-output p { font-size: .72rem; color: #a9b8a3; margin-top: .2rem; }
.canvas-bottomline { border-top: 1px solid #ffffff13; padding-top: 1rem; display: flex; justify-content: space-between; gap: .5rem; font-size: .56rem; color: #b2c2ac; }
.company-page .company-process .measure { max-width: 77ch; }
.company-build-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; list-style: none; padding: 0; margin: 3rem 0 0; counter-reset: none; }
.company-build-steps li { border-top: 1px solid #cdd8c8; padding-top: 1.5rem; position: relative; }
.step-number { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: #e4eddd; color: var(--company-green); font: 600 .8rem var(--font-display); margin-bottom: 1.5rem; }
.company-build-steps h3 { font-size: 1.2rem; line-height: 1.4; letter-spacing: -.03em; }.company-build-steps p { font-size: .98rem; color: #5c6759; }
.company-page .build-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; padding: 0; margin-top: 2.5rem; }
.company-page .build-capabilities li { position: relative; display: block; background: #fff; border: 1px solid #d7e0d1; padding: 2rem; border-radius: 16px; margin: 0; }
.company-page .build-capabilities li::before { display: none; }.capability-number { display: block; font: 600 .7rem var(--font-display); letter-spacing: .06em; color: #6c8163; margin-bottom: 1.5rem; }
.build-capabilities h3 { max-width: 20ch; font-size: 1.5rem; letter-spacing: -.04em; margin-bottom: .75rem; }.build-capabilities p { color: #5c6759; font-size: 1rem; max-width: 42ch; }
.company-page .company-insight > .wrap { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 4rem; position: relative; }
.company-page .company-insight .kicker { grid-column: 1 / -1; }.company-page .company-insight h2 { grid-column: 1; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.04em; max-width: 14ch; }
.company-page .company-insight .measure { grid-column: 2; grid-row: 2 / 4; font-size: 1.04rem; line-height: 1.85; }.insight-arrow { font-size: 5rem; font-weight: 400; color: #7aa669; line-height: 1; }
.company-page .about-hero-grid { grid-template-columns: 1.15fr 1fr; gap: 3rem; }.company-page .about-hero-grid h1 { max-width: 13ch; }
.story-canvas .canvas-topline { font-size: .59rem; letter-spacing: .1em; margin-bottom: 1.3rem; }.story-logo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.story-logo-grid > a { display: block; min-width: 0; border: 1px solid #ffffff17; border-radius: 12px; padding: .65rem; text-decoration: none; background: #ffffff05; transition: border-color .2s; }
.story-logo-grid > a:hover { border-color: #b7ee6390; }.story-logo { display: flex; align-items: center; justify-content: center; aspect-ratio: 1.5; background: white; border-radius: 7px; padding: .8rem; }
.story-logo img { max-width: 100%; max-height: 75px; height: auto; width: auto; object-fit: contain; }.story-logo-grid > a > span:last-child { display: flex; justify-content: space-between; gap: .2rem; padding: .85rem .25rem .2rem; font-size: .67rem; color: #d1ddcb; }
.story-canvas-foot { display: flex; align-items: center; gap: .65rem; padding-top: 1.5rem; font-size: .66rem; color: #c4d0be; }
.company-page .chapter-grid { counter-reset: chapter; gap: 1.5rem; margin-top: 2.5rem; }
.company-page .chapter { border: 1px solid var(--company-line); background: #fff; border-radius: 20px; padding: 2rem; position: relative; overflow: hidden; counter-increment: chapter; }
.company-page .chapter::before { content: '0' counter(chapter); position: absolute; top: 2rem; right: 2rem; color: #879780; font: 600 .8rem var(--font-display); }
.company-page .chapter .chapter-mark { border: 1px solid var(--company-line); padding: .8rem; background: #fff; border-radius: 12px; width: 128px; height: 108px; margin-bottom: 1.4rem; display: flex; align-items: center; justify-content: center; }
.company-page .chapter .chapter-mark img { max-width: 100%; max-height: 78px; object-fit: contain; }.company-page .chapter .daybook-tag { border: none; padding: 0; background: none; color: var(--company-green); font-size: .76rem; letter-spacing: .04em; font-weight: 700; }
.company-page .chapter p:not(.daybook-tag) { font-size: 1rem; line-height: 1.85; color: #52604e; }
.history-grid { display: grid; grid-template-columns: .8fr 1.3fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }.history-heading { position: sticky; top: 7rem; }.history-heading h2 { font-size: clamp(2rem, 3.5vw, 3rem); max-width: 11ch; letter-spacing: -.04em; }.history-caption { max-width: 30ch; color: #66765e; margin-top: 1.5rem; font-size: 1rem; }
.history-years { display: block; color: #306339; font: 600 clamp(2rem, 5vw, 4.8rem)/1.2 var(--font-display); letter-spacing: -.065em; margin-top: 2.5rem; }.history-years span { color: #89a67c; font-weight: 400; font-size: 2rem; }
.company-page .company-history .timeline { margin: .5rem 0 0; padding-left: 0; }.company-page .company-history .timeline::before { display: none; }.company-page .company-history .timeline li { display: grid; grid-template-columns: 105px 1fr; gap: 1.5rem; margin: 0; padding: 1.5rem 0; border-top: 1px solid #cedbc7; }.company-page .company-history .timeline li::before { display: none; }.company-page .company-history .tl-year { padding: .1rem 0 0; color: var(--company-green); font: 600 .77rem/1.65 var(--font-display); }.company-page .company-history .timeline p { font-size: .96rem; line-height: 1.8; }
.company-page.enquiry-page .company-hero { padding-bottom: 4rem; }.company-page.enquiry-page .company-hero h1 { letter-spacing: -.045em; }.company-page.enquiry-page .company-hero .lede { max-width: 69ch; }
.enquiry-promise { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.6rem; margin-top: 2rem; font-size: .77rem; color: #cadac2; }.enquiry-promise > span { display: flex; gap: .65rem; align-items: center; }.enquiry-promise > span + span::before { content: ''; width: 3px; height: 3px; border-radius: 50%; background: #70876a; }.enquiry-promise i { height: 7px; width: 7px; background: var(--company-lime); border-radius: 50%; }
.company-page .enquiry-section { padding-top: 3.5rem; }.company-page .enquiry-grid { grid-template-columns: 1.4fr .8fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }.company-page .enquiry-form { border: 1px solid var(--company-line); border-radius: 22px; padding: clamp(1.3rem, 3vw, 2.5rem); background: #fff; box-shadow: 0 10px 50px #1d331508; }
.form-card-heading { display: flex; align-items: flex-start; gap: 1rem; border-bottom: 1px solid var(--company-line); padding-bottom: 1.5rem; margin-bottom: 1.75rem; }.form-card-heading .kicker { font-size: .64rem; margin-bottom: .6rem; }.form-card-heading .kicker::before { display: none; }.form-card-heading h2 { font-size: 1.6rem; letter-spacing: -.04em; }.form-card-heading p:last-child { color: #6c7667; font-size: .78rem; }.form-card-icon { background: #e8f1e0; color: #306339; height: 42px; width: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 1.4rem; flex-shrink: 0; }
.company-page .enquiry-form label { font-size: .83rem; line-height: 1.6; }.company-page .enquiry-form :is(input, select, textarea) { border: 1px solid #c9d3c3; border-radius: 9px; background: #fafbf9; min-height: 48px; font-size: 1rem; }.company-page .enquiry-form :is(input, select, textarea):focus { border-color: #49783c; background: #fff; outline: 3px solid #30633920; outline-offset: 1px; }.company-page .enquiry-form textarea { resize: vertical; min-height: 165px; }.company-page .enquiry-form .field-hint { font-size: .77rem; line-height: 1.6; }.company-page .enquiry-form .field-row { gap: 1rem; }.form-section-label { display: flex; align-items: center; gap: .7rem; padding: 1.5rem 0 1.25rem; border-top: 1px solid var(--company-line); margin-top: .5rem; font: 600 .88rem var(--font-display); }.form-section-label span { color: #738969; font-size: .65rem; }.company-page .enquiry-actions { display: grid; gap: 1rem; }.company-page .enquiry-actions .button { width: 100%; justify-content: center; }.company-page .enquiry-actions .form-note { max-width: none; text-align: center; font-size: .73rem; }
.reply-marker { display: flex; align-items: center; gap: .8rem; margin-bottom: 2.5rem; border-bottom: 1px solid #d5dece; padding-bottom: 1.5rem; }.reply-marker > span { width: 46px; height: 46px; display: grid; place-items: center; background: #dfeaD5; color: #306339; font: 600 .85rem var(--font-display); border: 1px solid #c8d8bd; border-radius: 50%; flex-shrink: 0; }.reply-marker strong { display: block; font-size: .85rem; }.reply-marker small { display: block; font-size: .72rem; line-height: 1.6; color: #626f5b; margin-top: .15rem; }.company-page .enquiry-aside { padding-top: .5rem; }.company-page .enquiry-aside h2 { letter-spacing: -.04em; font-size: 1.85rem; }.company-page .enquiry-aside > p:not(.kicker) { font-size: .98rem; }.company-page .enquiry-aside .checklist { counter-reset: next; margin-block: 1.75rem; padding: 0; }.company-page .enquiry-aside .checklist li { position: relative; font-size: .9rem; line-height: 1.7; border: 0; padding: 0 0 1.5rem 2.4rem; counter-increment: next; display: block; }.company-page .enquiry-aside .checklist li::before { content: counter(next, decimal-leading-zero); position: absolute; inset: .05rem auto auto 0; width: auto; height: auto; border: 0; background: none; color: #557a46; font: 600 .72rem var(--font-display); }.company-page .enquiry-aside .reassurance { background: #eaf0e5; border: 1px solid #d8e3ce; border-radius: 14px; padding: 1.2rem; line-height: 1.7; }.company-page .enquiry-success { border-radius: 22px; border: 1px solid #a4c393; padding: 2.5rem; background: #edf6e5; }.enquiry-success h2 { line-height: 1.4; }
.company-page.legal-page .company-hero h1 { max-width: 19ch; letter-spacing: -.045em; }.company-page.legal-page .company-hero .lede { max-width: 70ch; }.legal-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }.legal-sidebar { position: sticky; top: 7rem; }.legal-sidebar .kicker { font-size: .65rem; }.legal-sidebar ol { list-style: none; padding: 0; margin: 1.5rem 0 2rem; border-left: 1px solid #c9d6c1; }.legal-sidebar li + li { margin-top: .2rem; }.legal-sidebar nav a { display: block; padding: .45rem 0 .45rem 1rem; font-size: .83rem; color: #596853; text-decoration: none; border-left: 2px solid transparent; margin-left: -1px; }.legal-sidebar nav a:hover { color: #306339; border-color: #306339; }.legal-settings { display: inline-flex; gap: 1.2rem; padding: .8rem 1rem; font-size: .8rem; font-weight: 600; border: 1px solid #c9d6c1; border-radius: 9px; text-decoration: none; }
.company-page .legal-copy { max-width: none; min-width: 0; border: 1px solid var(--company-line); border-radius: 20px; background: #fff; padding: clamp(1.4rem, 3.5vw, 3rem); font-size: 1rem; line-height: 1.85; color: #46513f; }.company-page .legal-copy > p:first-child { display: inline-block; padding: .35rem .7rem; background: #eff4ea; border-radius: 6px; font-size: .75rem; color: #506347; }.company-page .legal-copy h2 { font-size: 1.42rem; color: var(--company-ink); letter-spacing: -.03em; padding-top: 2rem; margin: 2rem 0 1rem; border-top: 1px solid #e0e7da; line-height: 1.4; }.company-page .legal-copy > p:first-child + h2 { padding-top: 0; border: 0; margin-top: 1rem; }.company-page .legal-copy li + li { margin-top: .8rem; }.company-page .legal-copy :is(a,code) { overflow-wrap: anywhere; }.company-page .legal-note { background: #edf4e5; border: 1px solid #cedfc0; border-radius: 12px; padding: 1.4rem; margin-block: 2rem; }
.company-page .error-hero-grid { min-height: 350px; }.company-page .error-hero-grid h1 { max-width: 13ch; }.error-art { position: relative; display: grid; place-items: center; min-height: 290px; }.error-art > strong { position: relative; z-index: 1; display: flex; align-items: center; gap: .025em; font: 700 clamp(7rem, 13vw, 12rem)/1 var(--font-display); letter-spacing: -.085em; color: #f6f8f3; }.error-art strong span { color: var(--company-lime); }.error-orbit { position: absolute; width: 100%; aspect-ratio: 1; max-width: 310px; border: 1px solid #b7ee6330; border-radius: 50%; }.error-orbit::before { content: ''; inset: 20px; position: absolute; border: 1px dashed #b7ee6330; border-radius: 50%; }.error-label { position: relative; z-index: 1; color: #b4c6aa; font-size: .72rem; letter-spacing: .12em; margin-top: -.7rem; }.company-page .error-recovery h2 { font-size: 2rem; letter-spacing: -.04em; }.recovery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }.recovery-grid > a { display: block; padding: 1.75rem; background: white; border: 1px solid var(--company-line); border-radius: 15px; text-decoration: none; }.recovery-grid > a:hover { border-color: #91b47e; }.recovery-grid > a > span { display: block; color: #64745b; font-size: .78rem; margin-bottom: 1rem; }.recovery-grid strong { display: flex; gap: 1rem; justify-content: space-between; font-size: .96rem; line-height: 1.5; }.recovery-grid strong span { color: #306339; }
@media (max-width: 1000px) {
  .company-page .company-hero-grid { gap: 2rem; }.company-page .company-hero-grid h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); }.company-page .enquiry-grid { grid-template-columns: 1.2fr .8fr; gap: 2rem; }.company-page .enquiry-form .field-row { grid-template-columns: 1fr; }.legal-layout { grid-template-columns: 190px minmax(0,1fr); gap: 2rem; }.history-grid { grid-template-columns: .7fr 1.3fr; gap: 2.5rem; }.company-page .company-history .timeline li { grid-template-columns: 90px 1fr; gap: 1rem; }.company-page .company-insight > .wrap { gap: 1rem 2.5rem; }
}
@media (max-width: 760px) {
  .company-page .company-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }.company-page .company-hero-grid h1 { max-width: 19ch; font-size: clamp(2.4rem, 7vw, 3.7rem); }.company-page .company-hero { padding-block: 3.5rem; }.build-canvas, .story-canvas { width: 100%; max-width: 520px; padding: 1.5rem; }.canvas-core strong { font-size: 1.25rem; }.canvas-inputs span { font-size: .72rem; }.story-logo { aspect-ratio: 1.9; }.story-logo img { max-height: 78px; }.story-logo-grid > a > span:last-child { font-size: .75rem; }.story-canvas-foot { font-size: .76rem; }.company-build-steps { gap: 1.5rem; }.company-build-steps h3 { font-size: 1.1rem; }.company-build-steps p { font-size: .9rem; }.company-page .build-capabilities li { padding: 1.5rem; }.build-capabilities h3 { font-size: 1.3rem; }.company-page .company-insight > .wrap { grid-template-columns: 1fr; }.company-page .company-insight .measure { grid-column: 1; grid-row: auto; }.company-page .company-insight h2 { max-width: 20ch; }.insight-arrow { display: none; }.history-grid { grid-template-columns: 1fr; gap: 1.5rem; }.history-heading { position: static; }.history-heading h2 { max-width: 16ch; }.history-caption { max-width: 48ch; }.history-years { display: none; }.company-page .enquiry-grid { grid-template-columns: 1fr; }.company-page .enquiry-form .field-row { grid-template-columns: 1fr 1fr; }.company-page .enquiry-aside { max-width: 560px; }.reply-marker { margin-bottom: 1.8rem; }.legal-layout { grid-template-columns: 1fr; gap: 2rem; }.legal-sidebar { position: static; }.legal-sidebar ol { display: flex; flex-wrap: wrap; gap: .5rem; border: none; margin-block: 1rem; }.legal-sidebar li + li { margin: 0; }.legal-sidebar nav a { padding: .45rem .7rem; border: 1px solid #d4dfcd; border-radius: 7px; font-size: .72rem; margin: 0; }.legal-settings { margin-top: .4rem; }.recovery-grid { grid-template-columns: 1fr; }.error-art { min-height: 240px; }.error-art > strong { font-size: 10rem; }.error-orbit { max-width: 250px; }.error-label { margin-top: -1rem; }.company-page .error-hero-grid { gap: 2rem; }
}
@media (max-width: 480px) {
  .company-page .company-hero-grid h1 { font-size: 2.45rem; }.company-page .company-hero .lede { font-size: 1rem; }.company-page .company-hero .cta-row { align-items: flex-start; }.company-build-steps { grid-template-columns: 1fr; gap: 0; }.company-build-steps li { padding: 1.5rem 0 1.5rem 4rem; }.step-number { position: absolute; top: 1.5rem; left: 0; }.company-build-steps h3 { margin-top: .3rem; }.company-build-steps p { font-size: .96rem; }.company-page .build-capabilities { grid-template-columns: 1fr; }.company-page .chapter { padding: 1.5rem; }.company-page .chapter::before { top: 1.5rem; right: 1.5rem; }.company-page .company-history .timeline li { grid-template-columns: 1fr; gap: .65rem; }.company-page .company-history .tl-year { font-size: .8rem; }.company-page .enquiry-form .field-row { grid-template-columns: 1fr; }.enquiry-promise { gap: .7rem 1rem; font-size: .7rem; }.enquiry-promise > span + span::before { display: none; }.form-card-heading { gap: .8rem; }.form-card-heading h2 { font-size: 1.4rem; }.form-card-heading .kicker { font-size: .55rem; }.company-page .legal-copy { padding: 1.25rem; font-size: .96rem; }.company-page .legal-copy h2 { font-size: 1.25rem; }.canvas-core { padding: 1.15rem; }.canvas-core strong { font-size: 1rem; }.canvas-inputs { gap: .35rem; }.canvas-inputs span { font-size: .6rem; }.canvas-bottomline { font-size: .54rem; }.story-logo-grid > a > span:last-child { font-size: .64rem; }.story-canvas-foot { font-size: .65rem; }.error-art > strong { font-size: 8rem; }
}
@media (prefers-reduced-motion: reduce) { .story-logo-grid > a { transition: none; } }

/* The brief studio: a small, useful product inside the custom-build page. */
.company-page .brief-studio{background:#e6eddc;padding-block:clamp(4rem,7vw,7rem);position:relative;background-image:radial-gradient(#52734418 .7px,transparent .7px);background-size:10px 10px}
.brief-studio-intro{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:3rem;margin-bottom:2.7rem}.brief-studio-intro h2{font-size:clamp(2.7rem,4.6vw,4.9rem);line-height:1.07;letter-spacing:-.065em;max-width:15ch}.brief-studio-intro h2 span{color:#527340}.brief-studio-intro>p{font-size:1rem;line-height:1.8;max-width:36ch;color:#596b4b;padding-bottom:.4rem}
.brief-planner{display:grid;grid-template-columns:.74fr 1.65fr;border:1px solid #b7c5a8;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px #25391a14;background:#fff}.planner-sidebar{background:radial-gradient(ellipse at 0 100%,#47723255,transparent 60%),#15231a;color:#f5f9ef;padding:2.5rem;display:flex;flex-direction:column}.planner-studio-label{display:flex;align-items:center;gap:.6rem;font-size:.59rem;letter-spacing:.12em;color:#b4c7a7;font-weight:600}.planner-studio-label i{height:5px;width:5px;border-radius:50%;background:#c1f28b;box-shadow:0 0 0 4px #b7ee6315}.planner-sidebar h3{font-size:clamp(2.3rem,3.8vw,4rem);line-height:1.05;letter-spacing:-.065em;font-weight:600;margin:3rem 0 1.5rem}.planner-sidebar h3 em{font-style:normal;color:#b7ee63}.planner-sidebar>p{font-size:.84rem;line-height:1.8;color:#a6baa0}.planner-live-notes{margin:2.4rem 0 2.5rem;padding-top:1.6rem;border-top:1px solid #ffffff1d;counter-reset:working-note}.planner-live-notes>span{display:block;font-size:.55rem;letter-spacing:.13em;color:#8fa282;margin-bottom:1.3rem}.planner-live-notes p{counter-increment:working-note;position:relative;font-size:.74rem;line-height:1.65;color:#788d70;padding-left:1.5rem;margin-bottom:.9rem}.planner-live-notes p::before{content:counter(working-note,decimal-leading-zero);position:absolute;left:0;top:.12rem;font-size:.54rem;color:#677e5f}.planner-live-notes p.is-written{color:#d4e8c3}.planner-live-notes p.is-written::before{color:#b7ee63}.planner-sidebar .planner-local-note{margin-top:auto;padding-top:1.5rem;font-size:.67rem;line-height:1.8;color:#92a78a;max-width:27ch}
.planner-workspace{padding:2.3rem;min-width:0}.planner-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;list-style:none;margin:0 0 2.5rem;padding:0}.planner-progress button{display:flex;align-items:center;gap:.6rem;width:100%;padding:0 0 1.2rem;background:none;border:0;border-bottom:2px solid #e5e9df;color:#809075;font-size:.72rem;text-align:left;cursor:pointer;min-height:44px}.planner-progress button>span{font-size:.63rem;font-weight:700;letter-spacing:.03em}.planner-progress button[aria-current=step]{border-color:#426c32;color:#24441c}.planner-progress button:disabled{color:#96a18f;cursor:default}.planner-progress button.is-complete{border-color:#b6d799;color:#526e42}
.planner-workspace fieldset{border:0;padding:0;margin:0;min-width:0}.planner-workspace legend{font:600 clamp(1.35rem,2.2vw,1.8rem)/1.4 var(--font-display);letter-spacing:-.04em;display:block;width:100%;padding:0;max-width:25ch}.planner-help{font-size:.82rem;line-height:1.75;color:#738168;margin:1rem 0 1.7rem;max-width:55ch}.planner-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.planner-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dbe3d3;padding:1.15rem;min-height:158px;border-radius:12px;background:#fbfcf9;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.planner-choice:hover{border-color:#a2b78f;background:#f6f9f1}.planner-choice:has(input:checked){background:#edf6e4;border-color:#6f9950;box-shadow:inset 0 0 0 1px #6f99501c}.planner-choice:has(input:focus-visible){outline:3px solid #5d8c3c;outline-offset:3px}.planner-choice input{position:absolute;opacity:0;width:1px;height:1px}.planner-choice-mark{font-size:1.4rem;line-height:1;color:#5e8545;margin-bottom:1.15rem}.planner-choice strong{display:block;font:600 .81rem/1.5 var(--font-display);letter-spacing:-.02em;color:#284320}.planner-choice small{display:block;font-size:.69rem;line-height:1.6;color:#758169;margin-top:.2rem;max-width:22ch}.planner-choice i{position:absolute;top:1rem;right:1rem;width:15px;height:15px;border:1px solid #c9d4bf;border-radius:50%;background:#fff}.planner-choice:has(input:checked) i{background:#406b2d;border-color:#406b2d}.planner-choice:has(input:checked) i::after{content:'✓';display:block;font:600 9px/13px system-ui;text-align:center;color:#fff}
.planner-team-options{display:grid;gap:.6rem}.planner-team-options label{display:flex;align-items:center;gap:.75rem;border:1px solid #dbe3d3;background:#fbfcf9;border-radius:10px;padding:.95rem 1rem;cursor:pointer;font-size:.82rem;min-height:53px}.planner-team-options label:has(input:checked){background:#edf6e4;border-color:#759c58;color:#2b4e20}.planner-team-options input{width:16px;height:16px;accent-color:#406b2d;margin:0;flex-shrink:0}.planner-field-label{display:block;font:600 .78rem/1.6 var(--font-display);color:#36522a;margin:1.8rem 0 .65rem;letter-spacing:-.01em}.planner-field-label span{font:400 .67rem/1.6 var(--font-body);color:#8c987f;margin-left:.4rem}.planner-workspace :is(input[type=text],textarea){font:400 .87rem/1.75 var(--font-body);width:100%;min-width:0;max-width:100%;border:1px solid #d0dcc6;border-radius:10px;padding:1rem;background:#fcfdfb;color:#30462a}.planner-workspace :is(input[type=text],textarea):focus{outline:3px solid #719b5120;border-color:#779c5d;background:#fff}.planner-workspace textarea{resize:vertical}.planner-workspace ::placeholder{color:#85917b;opacity:1}.planner-ground-rule{display:flex;align-items:flex-start;gap:.8rem;padding:1.1rem;border-radius:10px;background:#f2f6ec;border:1px solid #e0e9d7;margin-top:1.4rem}.planner-ground-rule>span{color:#759352;font-size:1.1rem}.planner-ground-rule p{font-size:.75rem;line-height:1.7;color:#69795d}.planner-feedback{min-height:1.5rem;margin:1.1rem 0 .5rem;font-size:.78rem;line-height:1.6;color:#814f24}.planner-actions{display:flex;align-items:center;gap:1rem;border-top:1px solid #e4eadc;padding-top:1.5rem;margin-top:.8rem}.planner-actions .button{margin-left:auto;font-size:.77rem;min-height:45px;padding:.8rem 1rem}.planner-back,.planner-copy,.planner-reset{border:0;background:none;color:#527141;padding:.65rem 0;font-size:.77rem;cursor:pointer;min-height:44px;text-decoration:underline;text-decoration-color:#becfb0;text-underline-offset:.25em}.planner-step-count{font-size:.63rem;color:#89967f}.planner-result{padding-block:.1rem}.planner-result-check{display:grid;place-items:center;background:#dff0cd;color:#3c6a29;width:46px;height:46px;border-radius:50%;font-size:1.3rem;margin-bottom:1.5rem}.planner-result .kicker{font-size:.58rem;margin-bottom:.8rem}.planner-result .kicker::before{display:none}.planner-result h3{font-size:clamp(1.55rem,2.7vw,2.5rem);line-height:1.23;letter-spacing:-.045em;max-width:22ch}.planner-result>p:not(.kicker){font-size:.84rem;color:#6e7e61;line-height:1.8;max-width:54ch}.planner-result #planner-brief{font-size:.8rem;line-height:1.8;background:linear-gradient(transparent 31px,#cbd8bf27 32px),#fafcf6;background-size:100% 32px;min-height:290px}.planner-result-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1.3rem}.planner-result-actions .button{font-size:.8rem}.planner-copy-status{font-size:.73rem!important;line-height:1.8;margin:.9rem 0}.planner-reset{margin-top:.5rem;font-size:.68rem}.planner-noscript{padding:1.5rem;border:1px solid #b6c7a5;background:#f7faf3;border-radius:12px;font-size:1rem;line-height:1.8}

/* 21st.dev Timeline 857: sticky chapter context with a scroll-filled rail.
   All ten milestones remain native document content and work without JS. */
.editorial-journey:not(.is-enhanced) .journey-stage{display:none}
.company-page .editorial-journey{background:#f0f2e8;position:relative}.editorial-journey .history-grid{grid-template-columns:.9fr 1.15fr;gap:clamp(3rem,7vw,7rem)}.editorial-journey .history-heading{top:calc(var(--header-height,88px) + 2rem)}.editorial-journey .history-heading h2{font-size:clamp(2.4rem,3.8vw,3.8rem);line-height:1.07;max-width:11ch;letter-spacing:-.065em}.editorial-journey .history-caption{font-size:.92rem;color:#708062;max-width:31ch;margin-top:1.3rem}.journey-stage{position:relative;margin-top:2rem;border:1px solid #b8c7a4;border-radius:18px;padding:1.5rem 1.6rem;background:radial-gradient(ellipse at 80% 80%,#b5d78b70,transparent 60%),#e2e9d5;overflow:hidden;min-height:260px}.journey-stage::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#708b4514 1px,transparent 1px),linear-gradient(90deg,#708b4514 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(120deg,transparent 35%,#000);pointer-events:none}.journey-stage-label{position:relative;display:block;font-size:.55rem;font-weight:600;letter-spacing:.17em;color:#698354}.journey-current-year{position:relative;display:block;font:600 clamp(3.4rem,5vw,5.8rem)/1 var(--font-display);letter-spacing:-.085em;color:#284821;margin-top:2rem;min-height:1em;max-width:90%}.journey-current-year.is-wordy{font-size:clamp(2rem,3.6vw,3.1rem);letter-spacing:-.06em;max-width:75%;line-height:1.13;min-height:1.8em}.journey-current-title{position:relative;display:block;font:600 .81rem/1.6 var(--font-display);letter-spacing:-.03em;color:#547343;margin-top:.85rem;max-width:21ch}.journey-stage-mark{position:absolute;bottom:3.5rem;right:1.6rem;display:flex;align-items:center;justify-content:center;width:76px;height:64px;padding:.65rem;background:#fff;border:1px solid #c5d3b7;border-radius:10px;transform:rotate(5deg);box-shadow:0 8px 17px #2844210b}.journey-stage-mark img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.journey-stage-mark:has(.is-wordmark){background:#15231a;width:100px}.journey-stage-foot{position:relative;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #b5c79f;margin-top:2rem;padding-top:1rem;font-size:.5rem;letter-spacing:.08em;color:#718663}.journey-jumps{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.25rem;margin-top:1rem}.journey-jumps a{display:grid;place-items:center;padding:.35rem 0;min-height:32px;font-size:.53rem;font-weight:600;border:1px solid transparent;border-radius:5px;color:#89997a;text-decoration:none}.journey-jumps a:hover{background:#e1e9d7;color:#3f672e}.journey-jumps a[aria-current=step]{background:#36572a;color:#e9f5db;border-color:#36572a}
.company-page .editorial-journey .journey-timeline{position:relative;margin:0;padding:0 0 1rem 2rem}.company-page .editorial-journey .journey-timeline::before{display:block;content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#759d4b var(--journey-progress,0%),#cfdac0 var(--journey-progress,0%));opacity:1}.company-page .editorial-journey .journey-timeline li{display:block;position:relative;max-width:none;min-height:300px;padding:2.3rem 1.8rem 2.5rem;margin:0;border:0;border-bottom:1px solid #c8d4ba;scroll-margin-top:calc(var(--header-height,88px) + 2rem);transition:background-color .3s}.company-page .editorial-journey .journey-timeline li:first-child{padding-top:.5rem}.company-page .editorial-journey .journey-timeline li::before{display:block;content:'';position:absolute;left:-2.32rem;top:2.6rem;width:12px;height:12px;border-radius:50%;background:#eaf0df;border:2px solid #b5c79f;box-shadow:0 0 0 6px #f0f2e8}.company-page .editorial-journey .journey-timeline li:first-child::before{top:.75rem}.company-page .editorial-journey .journey-timeline li.is-current::before{background:#b7ee63;border-color:#527d34;box-shadow:0 0 0 6px #e4eccf}.company-page .editorial-journey .journey-timeline .tl-year{display:block;font:600 .67rem/1.5 var(--font-display);color:#789063;letter-spacing:.06em;margin:0 0 .9rem;padding:0}.company-page .editorial-journey .journey-chapter-title{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.055em;margin-bottom:1.3rem;color:#647553;max-width:17ch}.company-page .editorial-journey .journey-timeline p{font-size:.96rem;line-height:1.95;color:#748366}.company-page .editorial-journey .journey-timeline li.is-current{background:#e8eedf70}.company-page .editorial-journey .journey-timeline li.is-current .journey-chapter-title{color:#24411c}.company-page .editorial-journey .journey-timeline li.is-current p{color:#536348}.company-page .editorial-journey:not(.is-enhanced) .journey-timeline p{color:#536348}
.company-page.about-page .story-canvas{position:relative;transform:rotate(1.2deg);background:#202c20;border-color:#b7ee6340;box-shadow:12px 16px 0 -2px #17231a,12px 16px 0 -1px #b7ee6320,0 40px 100px #0003}.company-page.about-page .story-logo-grid{gap:1rem}.company-page.about-page .story-logo-grid>a{background:#f2f5e9;padding:.5rem .5rem 0;border-color:#d3e0c2;border-radius:4px;box-shadow:0 6px 12px #0001}.company-page.about-page .story-logo-grid>a:nth-child(2){transform:rotate(3deg)}.company-page.about-page .story-logo-grid>a:nth-child(3){transform:rotate(-3deg)}.company-page.about-page .story-logo-grid>a>span:last-child{color:#3e592f;font-weight:600;font-size:.61rem;padding:.8rem .15rem}.company-page.about-page .story-logo{border-radius:2px;background:#fff}.company-page.about-page .story-canvas-foot{padding-top:1.8rem}

/* Enquiry stays the same form, with a draft handoff and useful writing cues. */
.enquiry-form{scroll-margin-top:calc(var(--header-height,88px) + 2rem)}.enquiry-draft-note{display:flex;align-items:flex-start;gap:.8rem;border:1px solid #b1ce98;border-radius:10px;padding:1rem;background:#edf6e4;margin-bottom:1.4rem}.enquiry-draft-note>span{display:grid;place-items:center;background:#527e37;color:white;width:20px;height:20px;border-radius:50%;font-size:.67rem;flex-shrink:0;margin-top:.2rem}.enquiry-draft-note p{font-size:.75rem;line-height:1.8;color:#5b7550}.enquiry-draft-note strong{display:block;color:#305323;font-size:.8rem}.enquiry-readiness{display:flex;align-items:center;gap:.8rem;margin:0 0 2rem;font-size:.65rem;color:#829174}.enquiry-readiness>span:first-child{font-weight:600;color:#5c7350}.enquiry-readiness progress{appearance:none;-webkit-appearance:none;flex:1;width:0;height:4px;border:0;border-radius:3px;overflow:hidden;background:#e3eadc}.enquiry-readiness progress::-webkit-progress-bar{background:#e3eadc;border-radius:3px}.enquiry-readiness progress::-webkit-progress-value{background:#8aae61;border-radius:3px;transition:width .2s}.enquiry-readiness progress::-moz-progress-bar{background:#8aae61}.enquiry-readiness.is-ready{color:#3e6e2c}.enquiry-writing-cues{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.7rem 0 .8rem}.enquiry-writing-cues>span{display:block;width:100%;font-size:.67rem;color:#88957c;margin-bottom:.2rem}.enquiry-writing-cues button{background:#f1f6eb;border:1px solid #d6e3ca;color:#587545;border-radius:5px;font-size:.64rem;padding:.45rem .65rem;min-height:33px;cursor:pointer}.enquiry-writing-cues button:hover{background:#e6f0d9;border-color:#a9c38f}.company-page.enquiry-page .enquiry-form{box-shadow:0 25px 70px #27441d0c}.company-page.enquiry-page .enquiry-aside{position:sticky;top:calc(var(--header-height,88px) + 2rem)}
@media(max-width:1050px){.brief-planner{grid-template-columns:.67fr 1.55fr}.planner-sidebar{padding:1.8rem}.planner-workspace{padding:1.8rem}.planner-progress{gap:.4rem}.planner-progress button{font-size:.64rem;gap:.45rem}.planner-choice{padding:1rem;min-height:154px}.planner-sidebar h3{font-size:3rem}.editorial-journey .history-grid{gap:3rem;grid-template-columns:.85fr 1.2fr}.journey-stage{padding:1.3rem;min-height:250px}.journey-stage-mark{right:1.3rem;width:62px;height:55px}.journey-current-title{max-width:17ch;font-size:.72rem}.company-page .editorial-journey .journey-timeline{padding-left:1.5rem}.company-page .editorial-journey .journey-timeline li{padding-inline:1.2rem}.company-page .editorial-journey .journey-timeline li::before{left:-1.82rem}}
@media(max-width:800px){.brief-studio-intro{grid-template-columns:1fr;gap:1rem}.brief-studio-intro>p{max-width:55ch;padding:0}.brief-planner{grid-template-columns:1fr}.planner-sidebar{display:grid;grid-template-columns:1fr 1fr;padding:1.7rem 2rem;gap:.7rem 2rem}.planner-studio-label{grid-column:1/-1}.planner-sidebar h3{font-size:2.7rem;line-height:1.12;margin:.8rem 0 0}.planner-sidebar h3 br{display:none}.planner-sidebar h3 em{display:block}.planner-sidebar>p{font-size:.78rem;margin:.8rem 0 0}.planner-sidebar>p br{display:none}.planner-live-notes{display:none}.planner-sidebar .planner-local-note{grid-column:2;margin-top:-2.7rem;max-width:32ch;padding:0;font-size:.65rem}.planner-workspace{padding:2rem}.planner-progress button{font-size:.78rem}.planner-choice{min-height:160px;padding:1.2rem}.planner-choice strong{font-size:.87rem}.planner-choice small{font-size:.73rem}.editorial-journey .history-grid{grid-template-columns:1fr;gap:2rem}.editorial-journey .history-heading{position:static}.editorial-journey .history-heading h2{max-width:18ch}.editorial-journey .history-caption{max-width:51ch}.journey-stage{display:none}.journey-jumps{max-width:450px}.company-page .editorial-journey .journey-timeline li{min-height:0;padding:2rem 1.5rem}.company-page .editorial-journey .journey-timeline li::before{top:2.4rem}.company-page .editorial-journey .journey-timeline .tl-year{font-size:.72rem}.company-page .editorial-journey .journey-chapter-title{font-size:2.1rem}.company-page .editorial-journey .journey-timeline p{color:#596b4c}.company-page.enquiry-page .enquiry-aside{position:static}}
@media(max-width:480px){.brief-studio-intro h2{font-size:2.85rem}.brief-studio-intro>p{font-size:.91rem}.brief-planner{border-radius:16px}.planner-sidebar{display:block;padding:1.5rem}.planner-sidebar h3{font-size:2.2rem;margin-top:1.4rem}.planner-sidebar h3 em{display:inline}.planner-sidebar h3 br{display:none}.planner-sidebar>p:not(.planner-local-note){display:none}.planner-sidebar .planner-local-note{font-size:.66rem;margin-top:.85rem;max-width:33ch;line-height:1.7}.planner-workspace{padding:1.3rem}.planner-progress{gap:.5rem;margin-bottom:1.8rem}.planner-progress button{display:block;font-size:.64rem;line-height:1.6;min-height:50px;padding-bottom:.8rem}.planner-progress button>span{display:block;margin-bottom:.25rem;font-size:.6rem}.planner-workspace legend{font-size:1.5rem;line-height:1.3}.planner-help{font-size:.78rem;margin:.9rem 0 1.4rem}.planner-choice-grid{gap:.55rem}.planner-choice{padding:.9rem;min-height:158px}.planner-choice-mark{font-size:1.2rem;margin-bottom:1.1rem}.planner-choice strong{font-size:.71rem}.planner-choice small{font-size:.64rem;line-height:1.65}.planner-choice i{width:13px;height:13px;right:.8rem;top:.8rem}.planner-choice:has(input:checked) i::after{font-size:8px;line-height:11px}.planner-team-options label{font-size:.77rem;padding:.9rem .8rem}.planner-field-label{font-size:.75rem}.planner-workspace :is(input[type=text],textarea){font-size:16px;padding:.85rem}.planner-actions{gap:.65rem;flex-wrap:wrap}.planner-actions .button{font-size:.71rem;padding:.8rem;gap:.5rem}.planner-step-count{font-size:.57rem}.planner-back{font-size:.7rem}.planner-ground-rule{padding:.9rem}.planner-ground-rule p{font-size:.72rem}.planner-result h3{font-size:1.7rem}.planner-result>p:not(.kicker){font-size:.78rem}.planner-result #planner-brief{font-size:16px;min-height:330px}.planner-result-actions{gap:.5rem 1.1rem}.planner-result-actions .button{width:100%;font-size:.78rem}.planner-copy{font-size:.73rem}.company-page .editorial-journey .journey-timeline{padding-left:.7rem}.company-page .editorial-journey .journey-timeline li{padding:2rem 0 2rem 1.2rem}.company-page .editorial-journey .journey-timeline li::before{left:-1.02rem;width:11px;height:11px}.company-page .editorial-journey .journey-timeline p{font-size:.9rem;line-height:1.9}.company-page .editorial-journey .journey-chapter-title{font-size:1.9rem}.journey-jumps{gap:.1rem}.journey-jumps a{font-size:.5rem;min-height:38px}.company-page.about-page .story-canvas{transform:none}.company-page.about-page .story-logo-grid{gap:.75rem}.enquiry-readiness{font-size:.61rem;gap:.65rem}.enquiry-writing-cues button{font-size:.61rem;min-height:36px}.enquiry-draft-note p{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.planner-choice,.company-page .editorial-journey .journey-timeline li,.enquiry-readiness progress::-webkit-progress-value{transition:none}}
