:root{--ink:#10231f;--paper:#f8f7f2;--muted:#63706c;--line:#dfe4df;--accent:#9b2226;--accent2:#e9c46a;--white:#fff;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.notice{padding:8px 20px;background:var(--ink);color:#fff;text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:20px}.logo b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:#fff;font-size:20px}.nav nav{display:flex;gap:28px;align-items:center}.nav nav a,footer a{color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}.nav-cta{padding:11px 17px;border:1px solid var(--ink);border-radius:999px}.menu{display:none}.hero{min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:40px;padding-bottom:92px}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{font:800 clamp(52px,7vw,88px)/.98 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 26px;max-width:780px}.lead{font-size:20px;color:var(--muted);max-width:620px}.actions{display:flex;gap:22px;align-items:center;margin:34px 0}.button{display:inline-flex;justify-content:center;border:0;border-radius:999px;padding:15px 22px;background:var(--accent);color:#fff;text-decoration:none;font:700 15px "DM Sans";cursor:pointer}.text-link{color:var(--ink);font-weight:700;text-decoration:none}.text-link span{color:var(--accent)}.micro{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:13px}.micro span:before{content:'✓';color:var(--accent);margin-right:7px}.hero-art{position:relative;min-height:500px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,var(--accent),var(--accent2));box-shadow:0 30px 80px color-mix(in srgb,var(--accent) 24%,transparent)}.hero-art>img,.map-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,20,18,.45))}.float-card{z-index:1;position:absolute;right:24px;bottom:24px;background:#fff;border-radius:18px;padding:18px 22px;min-width:200px;box-shadow:0 16px 40px rgba(0,0,0,.15)}.float-card small,.float-card span{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em}.float-card strong{font:800 23px Manrope;display:block}.services{padding:110px 0}.section-head{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;align-items:end;margin-bottom:44px}.section-head h2,.process h2,.local h2,.contact h2,.photo-story h2{font:800 clamp(38px,5vw,62px)/1.05 Manrope;margin:0;letter-spacing:-.045em}.section-head>p:last-child{color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.55);min-height:250px;transition:.25s transform,.25s box-shadow}.service:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(20,40,30,.08)}.service span{font:800 12px Manrope;color:var(--accent)}.service h3{font:800 24px/1.2 Manrope;margin:54px 0 14px}.service p{color:var(--muted);margin:0}.photo-story{display:grid;grid-template-columns:.8fr 1.1fr .8fr;gap:30px;align-items:center;padding:10px 0 110px}.photo-story figure{margin:0;height:430px;border-radius:var(--radius);overflow:hidden}.photo-story figure:first-child{transform:rotate(-2deg)}.photo-story figure:last-child{transform:rotate(2deg)}.photo-story img{width:100%;height:100%;object-fit:cover}.photo-story>div{text-align:center;padding:20px}.photo-story>div p:last-child{color:var(--muted)}.band{background:var(--ink);color:#fff}.process{padding:100px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px 0;border-top:1px solid rgba(255,255,255,.2)}.process li b{color:var(--accent2)}.process li strong,.process li em{display:block}.process li strong{font:700 20px Manrope}.process li em{font-style:normal;color:#aebbb7;margin-top:4px}.local{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.map-card{min-height:420px;position:relative;overflow:hidden;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 78%,#173631)}.local>div:last-child>p:not(.eyebrow){color:var(--muted);font-size:18px;margin:25px 0}.faq{padding:40px 0 110px}.faq .section-head{grid-template-columns:1fr 2fr}.faq-list{max-width:850px;margin-left:auto}details{border-top:1px solid var(--line);padding:22px 4px}summary{cursor:pointer;font:700 19px Manrope;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--accent);font-size:25px}details[open] summary:after{content:'−'}details p{color:var(--muted);max-width:700px}.contact{padding:100px 0;background:color-mix(in srgb,var(--accent) 9%,#fff)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-lines{display:flex;flex-direction:column;gap:8px;margin-top:30px}.contact-lines a{color:var(--ink);font-weight:700;text-decoration:none}.contact-lines address{font-style:normal;color:var(--muted);max-width:360px}form{background:#fff;padding:30px;border-radius:var(--radius);box-shadow:0 20px 60px rgba(30,50,40,.08)}label{display:block;font-weight:700;font-size:13px;margin-bottom:16px}input,textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa;font:inherit;resize:vertical}input:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}.form-note{font-size:12px;color:var(--muted);margin-bottom:0}footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:13px;color:var(--muted)}footer>div{display:flex;gap:18px}.reveal{opacity:0;transform:translateY(14px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:820px){.nav nav{display:none;position:absolute;top:120px;left:20px;right:20px;padding:20px;background:#fff;z-index:9;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.menu{display:block;border:1px solid var(--line);border-radius:999px;background:transparent;padding:9px 14px}.hero,.local,.contact-grid,.process{grid-template-columns:1fr;gap:46px}.hero{padding-top:30px}.hero-art{min-height:380px}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service{min-height:auto}.service h3{margin-top:28px}.photo-story{grid-template-columns:1fr 1fr}.photo-story>div{grid-column:1/-1;grid-row:1}.photo-story figure{height:360px}.process{padding:75px 0}.local{padding:80px 0}.contact{padding:75px 0}footer{padding:28px 0;flex-direction:column;text-align:center}}@media(max-width:560px){.photo-story{grid-template-columns:1fr}.photo-story figure{height:420px}.photo-story>div{grid-column:auto}.actions{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.canada-moments{padding:10px 0 110px}.moments-head{display:grid;grid-template-columns:.65fr 1.1fr 1fr;gap:30px;align-items:end;margin-bottom:34px}.moments-head h2{font:800 clamp(38px,5vw,62px)/1.05 Manrope;margin:0;letter-spacing:-.045em}.moments-head>p:last-child{color:var(--muted);margin:0}.moments-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:18px}.moments-grid figure{margin:0;height:460px;border-radius:var(--radius);overflow:hidden;background:var(--line)}.moments-grid img{width:100%;height:100%;object-fit:cover}.moments-grid figure:first-child img{object-position:center}.moments-grid figure:last-child img{object-position:center}@media(max-width:820px){.moments-head{grid-template-columns:1fr}.moments-grid{grid-template-columns:1fr}.moments-grid figure{height:380px}}
