:root{--page:#f8f7f3;--cream:#fff;--paper:#f4f2ed;--ink:#312d29;--muted:#716b64;--line:#e3dfd8;--tan:#d7d3cd;--brick:#a6432d;--pink:#f8eeea;--teal:#456f70;--powder:#eff5f6;--gold:#856722;--shadow:0 5px 9px #312d2903,0 20px 60px #312d2907;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h2{font-size:clamp(1.9rem,3.4vw,2.55rem);font-weight:650}h3{font-size:1.125rem;font-weight:600}p{color:var(--muted)}a{color:inherit;text-decoration:none;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid var(--brick);outline-offset:4px}button:disabled{cursor:wait;opacity:.65}svg{flex-shrink:0}.container{width:min(1136px,calc(100% - 64px));margin-inline:auto}.section{padding-block:90px}.eyebrow{font-size:.875rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;margin-bottom:18px}.skip-link{position:fixed;left:20px;top:-100px;z-index:1000;padding:12px 18px;border-radius:8px;background:white}.skip-link:focus{top:15px}#main:focus{outline:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 22px;border-radius:8px;font-size:.9375rem;font-weight:600;border:1px solid var(--tan);transition:background .15s,border-color .15s}.button.primary{background:var(--brick);border-color:var(--brick);color:white}.button.primary:hover{background:#8d3725;border-color:#8d3725}.button.small{min-height:46px;padding:10px 20px}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:10px;color:var(--brick);font-size:.9375rem;font-weight:500}.text-link:hover{text-decoration:underline}.site-header{position:sticky;top:0;background:#fffffffa;border-bottom:1px solid var(--line);z-index:50}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:1.75rem;font-weight:800;line-height:1;letter-spacing:-.06em;white-space:nowrap}.brand svg{width:28px;height:28px;color:var(--brick)}.brand-dot{color:var(--brick)}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.875rem;font-weight:500;color:var(--muted)}.desktop-nav>a:not(.button){display:flex;align-items:center;min-height:44px}.desktop-nav>a:not(.button):hover{color:var(--brick)}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:white;font-size:.875rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary svg{transform:rotate(180deg)}.mobile-menu nav{position:absolute;top:calc(100% + 12px);right:0;width:min(290px,calc(100vw - 40px));padding:8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 45px #312d2920}.mobile-menu nav a{display:block;padding:12px;border-radius:7px;min-height:48px;font-size:.9375rem}.mobile-menu nav a:hover{background:var(--pink);color:var(--brick)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:76px;align-items:center;padding-block:82px 72px}.hero h1{font-size:clamp(4rem,6.2vw,5.5rem);letter-spacing:-.06em;font-weight:700;line-height:1.01}.hero h1>span{color:var(--brick)}.hero-description{font-size:1.25rem;max-width:385px;line-height:1.65;margin-top:26px}.hero-detail{margin-top:10px;font-size:1rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:30px}.support-card{background:white;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow)}.label-chip{display:inline-flex;align-items:center;font-size:.875rem;color:var(--brick);background:var(--pink);padding:5px 10px;border-radius:6px;font-weight:500}.support-card h2{margin-top:20px;font-size:2rem;line-height:1.2}.support-card>p{font-size:.9375rem;margin-top:14px;line-height:1.65}.support-shortcuts{margin-top:23px}.support-shortcuts>a{display:flex;gap:13px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}.shortcut-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:10px;background:var(--pink);color:var(--brick)}.shortcut-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.shortcut-icon.teal{color:var(--teal);background:var(--powder)}.shortcut-icon.gold{color:var(--gold);background:#f8f1de}.support-shortcuts strong{display:block;font-size:.9375rem;font-weight:600;line-height:1.4}.support-shortcuts a>span:nth-child(2)>span{display:block;font-size:.875rem;color:var(--muted);margin-top:3px}.row-arrow{margin-left:auto;color:var(--muted)}.support-shortcuts a:hover strong{color:var(--brick)}.support-all{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;color:var(--brick);font-weight:500;font-size:.875rem;min-height:44px}.support-all:hover{text-decoration:underline}.facts{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;align-items:center;border-block:1px solid var(--line);padding-block:29px;gap:30px}.facts>div{display:flex;align-items:center;gap:15px}.facts strong{font-size:1.75rem;line-height:1.2;font-weight:600;letter-spacing:-.04em}.facts span{font-size:.875rem;color:var(--muted)}.facts p{font-size:.9375rem;border-left:1px solid var(--line);padding-left:34px;line-height:1.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font-size:.9375rem;line-height:1.7}.section-heading>.text-link{flex-shrink:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.service-item{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;scroll-margin-top:110px}.service-item summary{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:16px;list-style:none;padding:23px;min-height:110px}.service-item summary::-webkit-details-marker{display:none}.service-number{font-size:.875rem;color:var(--brick);background:var(--pink);border-radius:9px;width:40px;height:40px;display:grid;place-items:center;font-weight:500}.service-item:nth-child(4n+2) .service-number,.service-item:nth-child(4n+3) .service-number{background:var(--powder);color:var(--teal)}.service-item h3{font-size:1.0625rem;letter-spacing:-.025em;line-height:1.4}.service-category{display:block;margin-top:5px;color:var(--muted);font-size:.875rem;line-height:1.4}.service-plus{font-size:1.4rem;line-height:1;text-align:center;color:var(--muted);font-weight:400;transition:transform .15s}.service-item[open]{border-color:#d7c0b8}.service-item[open] .service-plus{transform:rotate(45deg);color:var(--brick)}.service-item summary:hover{background:#fbfaf8}.service-detail{border-top:1px solid var(--line);padding:22px 24px 24px}.service-detail p{font-size:1rem;line-height:1.7}.service-detail .text-link{margin-top:16px;font-size:.875rem}.about{background:var(--paper);border-block:1px solid var(--line)}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:44px}.about-intro h2{font-size:clamp(2.5rem,4vw,3.3rem);line-height:1.12}.about-intro h2 span{color:var(--brick)}.about-intro>p{font-size:1.1875rem;line-height:1.75;max-width:500px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.values-grid article{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}.value-number{display:block;font-size:.875rem;color:var(--brick);margin-bottom:25px}.values-grid h3{margin-bottom:13px}.values-grid p{font-size:1rem;line-height:1.7}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0;margin:45px 0 0}.step-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white;font-size:1rem;color:var(--brick);margin-bottom:22px}.process-grid h3{margin-bottom:12px}.process-grid p{font-size:1rem;line-height:1.7}.contact{background:var(--paper);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:85px;align-items:start}.contact-copy{padding-top:22px}.contact-copy h2{font-size:clamp(2.8rem,4vw,3.4rem);line-height:1.12}.contact-copy h2 span{color:var(--brick)}.contact-copy>p:not(.eyebrow){font-size:1.0625rem;max-width:340px;margin-top:24px;line-height:1.7}.contact-links{margin-top:38px}.contact-links>a,.contact-links>div{display:grid;grid-template-columns:1fr auto;gap:3px 15px;padding:22px 0;border-top:1px solid var(--tan)}.contact-links>a:hover strong{color:var(--brick)}.contact-links span:not(.contact-arrow){font-size:.875rem;color:var(--muted)}.contact-links strong{grid-column:1;font-size:1.1875rem;letter-spacing:-.025em;font-weight:500;overflow-wrap:anywhere}.contact-arrow{grid-column:2;grid-row:1 / 3;align-self:center;font-size:1.3rem;color:var(--brick)}.contact-form{padding:34px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:var(--shadow)}.contact-form>h3{font-size:1.65rem;letter-spacing:-.04em}.form-intro{margin:10px 0 27px;font-size:.9375rem}.field{min-width:0;margin-bottom:20px}.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px;line-height:1.5}.field .optional{font-weight:400;color:var(--muted)}.field input,.field textarea,.field select{display:block;width:100%;min-width:0;border:1px solid var(--tan);border-radius:8px;background:white;color:var(--ink);font-size:1rem;padding:13px 14px;min-height:50px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#817b74;opacity:1}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brick);box-shadow:0 0 0 3px #a6432d19}.field textarea{resize:vertical;min-height:112px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-send{width:100%;margin-top:4px;justify-content:space-between}.form-status{font-size:.9375rem;line-height:1.6;padding:14px;border-radius:8px;border:1px solid #d2e2d5;background:#eef5ef;color:#36543c;margin:0 0 20px}.form-status.error{background:#fdf0eb;border-color:#edc7bb;color:#81341f}.site-footer{padding-block:35px;background:var(--page);border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;gap:28px}.footer-top .brand{font-size:1.45rem;gap:8px}.footer-top .brand svg{width:24px;height:24px}.footer-top>p{font-size:.875rem}.footer-top nav{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:.875rem;color:var(--muted)}.footer-top nav>a,.play-button{display:inline-flex;align-items:center;min-height:44px}.play-button{padding:0;border:0;background:none;font-size:.875rem;color:var(--muted)}.footer-top nav>a:hover,.play-button:hover{color:var(--brick);text-decoration:underline}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;margin-top:24px;font-size:.8125rem;color:var(--muted)}
#gameModal{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;overflow:auto;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:white;box-shadow:var(--shadow)}#gameModal::backdrop{background:#312d298c}.game-card{padding:24px}.game-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.game-head h2{font-size:1.4rem}.game-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:white}.game-close:hover{background:var(--paper)}.game-scores{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--muted);font-size:.875rem}.game-scores b{color:var(--brick);margin-left:5px}#sealCanvas{display:block;width:100%;height:auto;border-radius:8px;touch-action:none;background:var(--powder)}#game-hint{font-size:.875rem;line-height:1.6;text-align:center;margin-top:15px}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:90px}}@media(max-width:1060px){.hero{grid-template-columns:minmax(0,1fr) 390px;gap:40px}.support-card{padding:28px}.hero h1{font-size:4.8rem}.desktop-nav{gap:20px}.contact-grid{gap:45px}.contact-form{padding:28px}.facts>div{gap:10px}.values-grid{gap:16px}.values-grid article{padding:24px}.footer-top{flex-wrap:wrap}.footer-top nav{gap:18px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:12px}.brand{font-size:1.55rem;gap:8px}.brand svg{width:26px;height:26px}.desktop-nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr;gap:38px;padding-block:48px}.hero-copy{max-width:560px}.hero h1{font-size:4.8rem}.hero h1 br{display:none}.hero-description{font-size:1.1875rem;max-width:460px;margin-top:22px}.hero-actions{margin-top:25px}.support-card{max-width:560px;width:100%}.support-card h2 br{display:none}.facts{grid-template-columns:repeat(3,1fr);gap:12px;padding-block:24px}.facts>div{align-items:flex-start;flex-direction:column;gap:4px}.facts span{font-size:.875rem}.facts p{display:none}.facts strong{font-size:1.65rem}.section{padding-block:60px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:26px}.service-grid{grid-template-columns:1fr;gap:12px}.service-item summary{min-height:98px}.about-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.about-intro>p{font-size:1.0625rem}.values-grid{grid-template-columns:1fr;gap:14px}.values-grid article{padding:25px}.value-number{margin-bottom:17px}.process-grid{grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact-copy{padding-top:0}.contact-copy>p:not(.eyebrow){max-width:440px}.contact-links{margin-top:26px}.contact-links>a,.contact-links>div{padding-block:18px}.contact-copy h2 br{display:none}.contact-form{max-width:600px}.footer-top{gap:15px 24px}.footer-top nav{width:100%;margin-left:0;flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.eyebrow{font-size:.8125rem}html{scroll-padding-top:96px}.service-item{scroll-margin-top:96px}}
@media(max-width:420px){.hero h1{font-size:clamp(3.45rem,14vw,4.4rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.04em}.hero-actions{align-items:stretch;flex-direction:column;gap:9px}.hero-actions .text-link{justify-content:center}.support-card{padding:24px}.support-card h2{font-size:1.75rem}.shortcut-icon{width:38px;height:38px}.support-shortcuts>a{gap:10px}.support-shortcuts a>span:nth-child(2)>span{font-size:.8125rem}.service-item summary{grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;padding:19px 16px}.service-number{width:34px;height:36px}.service-item h3{font-size:1rem}.service-category{font-size:.8125rem}.service-detail{padding:20px}.contact-form{padding:24px 20px}.field-row{grid-template-columns:1fr;gap:0}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px 18px}.step-number{grid-row:1/3;margin:0}.process-grid h3{margin:2px 0 6px}.process-grid p{grid-column:2}.contact-copy h2{font-size:2.6rem}.footer-top>p{width:100%}.facts{gap:8px}.facts span{font-size:.8125rem}.game-card{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Text-spacing correction: clearer tracking, line spacing and mobile wrapping. */
.brand{letter-spacing:-.04em;line-height:1.2}
h1,h2,h3{letter-spacing:-.025em}
.hero h1{letter-spacing:-.045em;line-height:1.1}
.support-card h2,.about-intro h2,.contact-copy h2{line-height:1.22}
.service-item h3{line-height:1.55;letter-spacing:-.01em}
.service-category{line-height:1.55;margin-top:7px}
.service-item summary{row-gap:14px}
.field label{line-height:1.6;margin-bottom:10px}
.facts>div{min-width:0;flex-wrap:wrap;gap:8px 15px}
.section-heading>div,.footer-top>*,.hero-copy,.contact-copy{min-width:0}
.button{line-height:1.5;white-space:normal;text-align:center}
.row-arrow,.contact-arrow{font-family:Arial,sans-serif}
@media(max-width:420px){.hero h1{font-size:clamp(3rem,12.8vw,4rem)}.brand{font-size:1.4rem}.hero-description{line-height:1.75}.service-item summary{align-items:start}.service-number{margin-top:3px}.footer-top nav{row-gap:12px}}


/* Authorised service photography: natural moments, clear routes into support. */
figure{margin:0}
.hero-photo{min-width:0;border:1px solid var(--line);border-radius:18px;background:white;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo picture,.moment-photo picture,.about-photo picture{display:block}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;background:var(--paper)}
.hero-photo figcaption{display:flex;align-items:center;gap:14px;padding:19px 22px;font-size:1rem;font-weight:600;line-height:1.45}
.photo-caption-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pink);color:var(--brick);flex-shrink:0;font-family:Arial,sans-serif;font-size:1.25rem}
.hero-photo figcaption small{display:block;font-size:.8125rem;color:var(--muted);font-weight:400;margin-top:3px}
.support-overview-section{padding-top:32px}
.support-overview{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2fr);gap:34px;padding:28px;box-shadow:none}
.support-overview h2{font-size:1.65rem;margin-top:14px}
.support-overview .overview-copy>p{font-size:.9375rem;margin-top:12px;max-width:340px}
.overview-links{min-width:0}
.support-overview .support-shortcuts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.support-overview .support-shortcuts>a{padding:16px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:11px;background:#fbfaf8}
.support-overview .support-shortcuts>a:hover{background:var(--pink);border-color:#d7c0b8}
.support-overview .support-shortcuts .row-arrow{display:none}
.support-overview .support-all{margin-top:15px;padding-top:12px}
.services{padding-bottom:45px}
.moments{padding-top:35px}
.moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.moment-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;display:flex;flex-direction:column;min-width:0}
.moment-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--paper)}
.moment-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.moment-copy h3{font-size:1.125rem;line-height:1.45;margin-bottom:12px}
.moment-copy p{font-size:.9375rem;line-height:1.75;margin-bottom:15px}
.moment-copy .text-link{margin-top:auto;font-size:.875rem}
.about-description{font-size:1.1875rem;line-height:1.75;margin-top:24px;max-width:500px}
.about-photo{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--paper)}
.about-photo figcaption{font-size:.875rem;color:var(--muted);line-height:1.6;padding:14px 20px}
@media(max-width:1000px){.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-overview{grid-template-columns:1fr;gap:24px}.support-overview h2 br{display:none}.support-overview .overview-copy>p{max-width:620px}.about-with-photo{gap:38px}}
@media(max-width:800px){.hero-photo{max-width:560px;width:100%}.hero-photo img{aspect-ratio:4/3}.support-overview-section{padding-top:26px}.support-overview{padding:24px}.services{padding-bottom:25px}.moments{padding-top:30px}.about-description{font-size:1.0625rem;max-width:560px}.about-with-photo{gap:28px}}
@media(max-width:680px){.moments-grid{grid-template-columns:1fr;gap:22px}.support-overview .support-shortcuts{grid-template-columns:1fr;gap:0}.support-overview .support-shortcuts>a{flex-direction:row;align-items:center;padding:15px 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0;gap:13px}.support-overview .support-shortcuts .row-arrow{display:block}.support-overview .support-shortcuts>a:hover{background:none}.support-overview .support-shortcuts>a>span:nth-child(2){flex:1}.moment-copy{padding:22px}}
@media(max-width:420px){.hero-photo figcaption{padding:17px 18px}.support-overview{padding:22px}.support-overview h2{font-size:1.55rem}.moments .section-heading h2{font-size:1.9rem}.moment-copy{padding:22px 20px}}
