/* Concept G · reference: https://thetaxco.ca · independently authored static patterns.
   Brand palette retained; local Inter substitutes for reference Inter Tight/DM Sans. */
@font-face{font-family:Inter;src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--cream:#f7f5ef;--green:#123931;--ink:#183a31;--muted:#4e625a;--gold:#c69d58;--label:#716344;--line:#d8ddd2;--soft:#e9eee7;--pad:clamp(22px,4.8vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #917035;outline-offset:6px}p{margin:0 0 24px}img{display:block;max-width:100%;object-fit:cover;height:auto}figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.06;margin:0;letter-spacing:-.065em}h1{font-size:clamp(56px,5.5vw,88px)}h2{font-size:clamp(39px,4.2vw,66px)}h3{font-size:25px;letter-spacing:-.035em}em{font-weight:400}ul{padding-inline-start:20px}.wrap{max-width:1512px;margin-inline:auto;padding-inline:var(--pad)}.section-pad{padding-block:104px}.eyebrow{font:11px/1.6 ui-monospace,monospace;letter-spacing:.15em;color:var(--label);margin-bottom:28px}.eyebrow:before{content:'';display:inline-block;width:23px;border-top:1px solid var(--gold);vertical-align:middle;margin-inline-end:11px}.lead{font-size:20px;line-height:1.55;letter-spacing:-.025em;max-width:520px}.micro,.small{font-size:12px;line-height:1.6}.micro{margin:15px 0 0;color:var(--muted)}.skip{position:absolute;top:-100px;background:var(--green);color:white;padding:14px;z-index:10}.skip:focus{top:0}header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:104px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:62px;height:62px}.brand>span{font-size:24px;letter-spacing:-.055em;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.14em;margin-top:8px}nav{display:flex;gap:28px;align-items:center}nav a{font-size:14px;padding-block:12px}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.header-cta,.button{background:var(--green);color:var(--cream);border-radius:999px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 25px;line-height:1.4;font-size:14px;min-height:50px;transition:background .2s,color .2s,transform .2s}.header-cta{font-size:13px;padding:13px 23px}.button span,.header-cta span{font-size:21px;line-height:1}.button.light{background:var(--cream);color:var(--green)}.text-link{display:inline-flex;gap:20px;align-items:center;text-decoration:underline;text-underline-offset:6px;font-size:14px;padding-block:10px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:5%;align-items:center;padding-block:65px 64px}.hero h1{margin-bottom:28px}.hero .lead{max-width:455px;margin-bottom:28px}.hero-photo{position:relative;margin-top:35px}.hero-photo img{aspect-ratio:1.13;object-position:52% center}.hero-photo figcaption{font-size:9px;line-height:1.5;color:var(--muted);margin-top:10px}.photo-note{position:absolute;bottom:35px;inset-inline-end:-14px;background:var(--green);color:var(--cream);padding:22px 28px;min-width:200px}.photo-note span{color:var(--gold);font:9px ui-monospace,monospace;letter-spacing:.15em}.photo-note p{font-size:27px;line-height:1.15;letter-spacing:-.04em;margin:12px 0 0}.context-strip{display:flex;justify-content:space-between;gap:22px;border-block:1px solid var(--line);padding-block:22px;font:10px/1.6 ui-monospace,monospace;letter-spacing:.12em;color:var(--muted)}.editorial{padding-block:114px}.editorial h2{max-width:1060px}.letter{margin-top:52px;max-width:655px;margin-inline-start:25%;font-size:20px;line-height:1.65;letter-spacing:-.025em}.strong{color:var(--green);font-size:25px;line-height:1.5}.dark{background:var(--green);color:var(--cream)}.dark .eyebrow{color:var(--gold)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:64px}.service-preview>a{display:grid;grid-template-columns:1fr 5fr auto;gap:22px;align-items:center;border-top:1px solid #526b5e;padding:27px 0}.service-preview h3{font-size:31px}.number{font:12px ui-monospace,monospace;color:var(--gold)}.arrow{font-size:25px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:62px 0 0}.step-no{font:13px ui-monospace,monospace;color:var(--label);display:block;margin-bottom:25px;padding-top:17px;border-top:1px solid #9ca99e}.steps h3{margin-bottom:18px;max-width:240px}.steps p{font-size:15px;color:var(--muted);margin:0}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;padding-block:46px 110px}.questions{padding-top:20px}details{border-bottom:1px solid #a8b5a9}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:23px 0;font-size:17px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:25px}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;color:var(--muted);max-width:540px;padding-inline-end:25px}.closing{border-top:1px solid var(--line);padding-block:82px 95px;text-align:center}.closing h2{margin-bottom:30px}.closing .eyebrow:before{display:none}footer{background:var(--green);color:var(--cream)}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px;padding-block:63px}.footer-brand{font-size:60px;letter-spacing:-.07em;line-height:1.1}.footer-top p{font-size:14px;margin-top:22px;color:#c8d4ca}.footer-top nav{display:grid;gap:0;align-content:start}.footer-top nav a{padding:5px 0;display:block}.footer-bottom{border-top:1px solid #526b5e;display:flex;justify-content:space-between;gap:24px;padding-block:22px;font:10px/1.7 ui-monospace,monospace;color:#c8d4ca}.inner-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;padding-block:70px 86px;align-items:center}.inner-hero .lead{margin-top:26px}.call-card{background:var(--green);color:var(--cream);padding:42px}.call-card h2{font-size:38px;margin-bottom:25px;letter-spacing:-.045em}.call-card .eyebrow{color:var(--gold)}.call-card .micro{color:#c8d4ca}.call-card p{font-size:16px}.call-card .button{margin-top:8px}.service-list article{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;border-top:1px solid var(--line);padding-block:64px;scroll-margin-top:30px}.service-list h2{font-size:42px}.service-list article>div+div{padding-top:34px}.soft{background:var(--soft)}.intro-aside{padding-top:45px;max-width:470px}.intro-aside>p{font-size:18px}.intro-aside .lead{font-size:27px;line-height:1.4}.wide-photo img{width:100%;height:390px;object-position:center 52%}.wide-photo figcaption{font-size:10px;color:var(--muted);margin-top:10px}.founder{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding-block:0 90px}.founder h2{font-size:34px}.founder>p{font-size:15px;align-self:end;max-width:370px;color:var(--muted)}.booking-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding-bottom:70px;align-items:start}.booking-section aside{background:var(--soft);padding:32px}.large-number{font-size:100px;letter-spacing:-.09em;line-height:1.2;display:block;margin-bottom:22px}.large-number span{font-size:22px;letter-spacing:-.02em;margin-inline-start:8px}.booking-section h2{font-size:32px;letter-spacing:-.04em;margin-bottom:26px}.booking-section ul{font-size:14px;margin-block:0 28px}.booking-section .button{font-size:13px;gap:14px}.calendar{min-width:0}.calendar iframe{display:block;border:0;background:var(--cream);max-width:100%}.calendar>p{text-align:center;margin-top:15px}.contact-after{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:40px 90px}.contact-after h2{font-size:36px}.contact-after p{font-size:16px}.hero-copy{animation:arrive .6s cubic-bezier(.2,.8,.2,1) both}@keyframes arrive{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.button:hover,.header-cta:hover{background:#2d5749;color:white;transform:translateY(-2px)}.button.light:hover{background:#e9eee7;color:var(--green)}.service-preview>a:hover h3{text-decoration:underline;text-underline-offset:8px}nav a:hover{text-decoration:underline;text-underline-offset:7px}}
@media(min-width:1500px){h1{font-size:88px}}
@media(max-width:1100px){header{gap:18px}.brand>span{font-size:21px}nav{gap:19px}.hero{gap:35px}.hero h1{font-size:60px}.hero-photo img{aspect-ratio:.9}.photo-note{inset-inline-end:-8px}.inner-hero{gap:40px}h1{font-size:65px}.section-head{grid-template-columns:1fr 2fr}.booking-section{gap:30px;grid-template-columns:.8fr 1.2fr}}
@media(max-width:850px){header{flex-wrap:wrap;padding-block:14px;gap:12px}header nav{order:3;width:100%;justify-content:space-between;gap:18px}header nav a{padding-block:6px}.hero h1{font-size:51px}.hero .lead{font-size:17px}.hero .eyebrow{font-size:9px}.hero{gap:28px}.steps{gap:30px}.faq-section{gap:40px}.booking-section{grid-template-columns:1fr}.booking-section aside{display:block;max-width:none}.calendar iframe{height:800px}.inner-hero{gap:30px}.call-card{padding:27px}.footer-top{gap:25px}}
@media(max-width:700px){:root{--pad:24px}h1{font-size:54px}h2{font-size:42px}.hero{grid-template-columns:1fr;padding-block:42px 32px}.hero h1{font-size:clamp(46px,8.6vw,60px);letter-spacing:-.067em}.hero .eyebrow{font-size:10px;max-width:290px}.hero .lead{font-size:18px}.hero-photo{margin:14px 0 0}.hero-photo img{aspect-ratio:1.25}.hero-photo figcaption{font-size:9px;max-width:300px}.photo-note{bottom:40px;inset-inline-end:-8px;min-width:175px;padding:18px 22px}.photo-note p{font-size:25px}.context-strip{flex-wrap:wrap;justify-content:flex-start;gap:10px 25px;font-size:8px}.editorial{padding-block:66px}.editorial h2{font-size:39px}.letter{margin-inline-start:0;margin-top:32px;font-size:17px}.strong{font-size:21px}.section-pad{padding-block:65px}.section-head{display:block;margin-bottom:35px}.service-preview>a{grid-template-columns:25px 1fr auto;gap:12px;padding-block:24px}.service-preview h3{font-size:23px}.steps{grid-template-columns:1fr;gap:32px;margin-top:35px}.step-no{margin-bottom:17px}.steps h3{max-width:none}.steps p{max-width:430px}.faq-section{grid-template-columns:1fr;gap:22px;padding-block:10px 66px}.faq-section h2 br{display:none}.questions{padding-top:0}summary{font-size:16px}.closing{padding-block:58px 65px}.closing h2{font-size:43px}.footer-top{grid-template-columns:1fr 1fr;padding-block:43px;gap:35px}.footer-top>div:last-child{grid-column:1/-1}.footer-top>div:last-child p{margin:0}.footer-brand{font-size:51px}.footer-bottom{flex-direction:column;gap:8px}.inner-hero{grid-template-columns:1fr;gap:30px;padding-block:44px 54px}.inner-hero h1{font-size:55px}.inner-hero .lead{font-size:19px}.call-card{padding:30px}.service-list article{grid-template-columns:1fr;gap:22px;padding-block:42px}.service-list article>div+div{padding-top:0}.service-list h2{font-size:37px}.service-list .eyebrow{margin-bottom:18px}.intro-aside{padding-top:0}.wide-photo img{height:260px}.about-story h2{font-size:36px}.founder{grid-template-columns:1fr;gap:25px;padding-bottom:60px}.founder h2{font-size:31px}.contact-intro h1{font-size:48px}.booking-section{padding-inline:16px;gap:25px;padding-bottom:35px}.booking-section aside{padding:28px}.calendar iframe{height:900px}.contact-after{grid-template-columns:1fr;gap:23px;padding-block:20px 50px}.contact-after h2{font-size:32px}.eyebrow{font-size:10px}}
@media(max-width:370px){:root{--pad:20px}.brand img{width:48px;height:48px}.brand>span{font-size:20px}.brand small{font-size:6px}.header-cta{padding:11px 13px;font-size:11px;gap:8px}.hero h1{font-size:43px}.hero .eyebrow{font-size:9px}.button{font-size:13px;gap:18px;padding-inline:20px}.inner-hero h1{font-size:48px}.contact-intro h1{font-size:42px}.booking-section{padding-inline:8px}.footer-top{grid-template-columns:1fr}.footer-top>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:700px){header{gap:10px}.brand{gap:10px}.brand img{width:48px;height:48px}.brand>span{font-size:21px}.brand small{font-size:6px;letter-spacing:.11em}.header-cta{font-size:0;gap:10px;padding:11px 15px;min-height:44px}.header-cta:before{content:'Free call';font-size:11px}.header-cta span{font-size:18px}}
