@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/assets/dm-sans.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/instrument-serif.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/instrument-serif-italic.woff2') format('woff2')}
:root{--sq-ink:#33232f;--sq-paper:#fbf4e6;--sq-clay:#a34c35;--sq-line:#d2bba8;--sq-consent-space:0px}
body[data-sq-page]{padding-bottom:var(--sq-consent-space,0px)}
[data-sq-page] [hidden]{display:none!important}
[data-sq-page] :where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid currentColor;outline-offset:5px}
[data-sq-contact-nav]{display:inline-flex!important;align-items:center;min-height:44px}
.sq-added-navigation{font:500 14px/1.4 'DM Sans',sans-serif}
.hero-introduction.sq-hero-readable{align-items:start}
.sq-hero-lead{min-width:0}
.sq-hero-lead>[data-sq-hero-cta]{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;max-width:100%}
.sq-preferences-link{max-width:1280px;margin:0 auto;padding:20px 24px;text-align:center;font:400 14px/1.6 'DM Sans',sans-serif;color:inherit}
.sq-preferences-link a{text-decoration:underline;text-underline-offset:4px;color:inherit;display:inline-flex;align-items:center;min-height:44px}
.sq-consent{position:fixed;z-index:80;inset:auto 16px 16px;max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:23px 28px;border:1px solid var(--sq-line);border-radius:10px;box-shadow:0 6px 35px #33232f26;background:var(--sq-paper);color:var(--sq-ink);font:400 16px/1.5 'DM Sans',sans-serif;text-align:left;box-sizing:border-box}
.sq-consent-copy{max-width:640px;min-width:0}
.sq-consent h2{margin:0 0 7px;font:600 19px/1.3 'DM Sans',sans-serif;letter-spacing:0;color:var(--sq-ink)}
.sq-consent p{margin:0 0 7px;font:inherit;color:inherit}
.sq-consent a{color:var(--sq-ink);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.sq-consent .sq-consent-status{font-size:14px;font-weight:600}
.sq-consent-status:empty{display:none}
.sq-consent-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 320px}
.sq-consent button{box-sizing:border-box;flex:1 1 140px;min-height:46px;padding:10px 14px;border:1px solid var(--sq-ink);border-radius:5px;background:var(--sq-paper);color:var(--sq-ink);font:500 15px/1.4 'DM Sans',sans-serif;cursor:pointer;text-align:center}
.sq-consent button:hover{background:#eadbc6}
.sq-consent button:disabled{opacity:.55;cursor:default}
.sq-consent button[data-sq-consent-close]{border-color:transparent;text-decoration:underline}
.sq-mobile-contact{position:fixed;z-index:35;left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none}
.sq-mobile-contact a{display:block;pointer-events:auto;min-height:48px;box-sizing:border-box;padding:13px 27px;border:1px solid var(--sq-paper);border-radius:30px;box-shadow:0 3px 16px #33232f35;background:var(--sq-ink);color:var(--sq-paper);text-decoration:none;text-align:center;font:500 16px/1.35 'DM Sans',sans-serif}
body:has(dialog[open]) .sq-mobile-contact{display:none}
.sq-embedded .sq-preferences-link{display:none}
/* Shared pages: match the warm published Firemoth home without its layout CSS. */
.sq-shell{margin:0;background:var(--sq-paper);color:var(--sq-ink);font:400 18px/1.65 'DM Sans',sans-serif;overflow-wrap:break-word}
.sq-shell *{box-sizing:border-box}
.sq-shell a{color:inherit;text-underline-offset:4px}
.sq-shell img{display:block;max-width:100%;height:auto}
.sq-skip{position:absolute;z-index:100;left:16px;top:-120px;background:var(--sq-ink);color:var(--sq-paper)!important;padding:12px 18px}
.sq-skip:focus{top:12px}
.sq-header{max-width:1280px;padding:28px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.sq-brand{display:block;flex:0 0 auto;width:226px;padding:20px 24px;background:var(--sq-ink)}
.sq-header nav{display:flex;flex-wrap:wrap;gap:10px 30px;font-size:16px}
.sq-header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.sq-header nav a:hover{text-decoration:underline}
.sq-service{max-width:880px;min-height:50vh;margin:50px auto 100px;padding:0 32px}
.sq-service h1{font:400 clamp(42px,6.5vw,70px)/1.06 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 28px}
.sq-service h2{font:500 25px/1.25 'DM Sans',sans-serif;margin:44px 0 15px}
.sq-service h3{font:500 21px/1.4 'DM Sans',sans-serif;margin:28px 0 12px}
.sq-service p{margin:0 0 22px;max-width:72ch}
.sq-service .sq-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#735749;margin-bottom:20px}
.sq-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.sq-service .sq-button-secondary{background:transparent;color:var(--sq-ink)}
.sq-service .sq-button-secondary:hover{background:#eadbc6}
.sq-service .sq-text-button{display:inline;min-height:44px;padding:4px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;text-align:left}
.sq-service .sq-text-button:hover{background:transparent;color:var(--sq-clay)}
.sq-service :where(ul,ol){padding-left:1.4em;margin:0 0 24px}
.sq-service li+li{margin-top:8px}
.sq-service .sq-card{padding:30px;border:1px solid var(--sq-line);border-radius:8px;background:#fffaf0;margin:28px 0}
.sq-service form,.sq-form{margin:32px 0}
.sq-field{margin:0 0 24px}
.sq-service label{display:block;margin:0 0 8px;font-size:17px;font-weight:600}
.sq-service :where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select){display:block;width:100%;max-width:100%;min-height:50px;padding:12px 14px;border:1px solid #8c746c;border-radius:5px;background:#fffdf7;color:var(--sq-ink);font:400 18px/1.5 'DM Sans',sans-serif}
.sq-service textarea{min-height:180px;resize:vertical}
.sq-service [aria-invalid=true]{border:2px solid #98251d}
.sq-service :where(button,.sq-button){display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:1px solid var(--sq-ink);border-radius:5px;background:var(--sq-ink);color:var(--sq-paper);font:500 17px/1.4 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.sq-service :where(button,.sq-button):hover{background:#553344}
.sq-form-note{font-size:16px;line-height:1.6;color:#624e51}
.sq-field-error{font-size:16px;color:#98251d;margin:8px 0!important}
.sq-enquiry,.sq-enquiry-message{overflow-wrap:anywhere}
.sq-error-summary{padding:22px;border:2px solid #98251d;border-radius:5px;margin:24px 0;background:#fff4ee}
.sq-error-summary h2{margin:0 0 12px;font-size:22px}
.sq-error-summary ul{margin-bottom:0}
.sq-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sq-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 30px;padding:36px 24px;background:var(--sq-ink);color:var(--sq-paper);font:400 16px/1.5 'DM Sans',sans-serif}
.sq-footer>a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
.sq-footer .sq-preferences-link{flex-basis:100%;padding:0}
@media(max-width:700px){
  .sq-sticky-ready{padding-bottom:max(76px,var(--sq-consent-space,0px))!important}
  .sq-consent{inset:auto 8px 8px;padding:20px;gap:16px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 32px);overflow:auto}
  .sq-consent-actions{flex:0 1 auto}
  .sq-header{padding:22px;align-items:flex-start;flex-direction:column;gap:16px}
  .sq-brand{width:204px}
  .sq-header nav{font-size:15px;gap:6px 22px}
  .sq-service{margin:26px auto 64px;padding:0 22px;font-size:17px}
  .sq-service .sq-card{padding:22px}
}
@media(max-width:480px){
  .sq-hero-lead>[data-sq-hero-cta]{margin-top:18px;font-size:16px;line-height:1.4}
  .sq-hero-cta-first{display:inline-flex!important;align-items:center;justify-self:start;min-height:44px;margin:18px 0 22px!important;font-size:16px!important;line-height:1.4!important}
  .hero-introduction:has(.sq-hero-cta-first){row-gap:0!important}
  .sq-consent{font-size:15px;padding:17px}
  .sq-consent-actions{gap:8px}
  .sq-consent button{font-size:14px;padding:10px 8px;flex-basis:125px}
}
@media(prefers-reduced-motion:reduce){[data-sq-page]{scroll-behavior:auto!important}.sq-mobile-contact,.sq-consent{animation:none!important;transition:none!important}}
