@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root{color-scheme:dark;--pine:#102e25;--cream:#f5eedc;--lime:#e3efad;--muted:#d1dbca;--edge:#ffffff40;font-family:'Instrument Sans',sans-serif;background:var(--pine);color:var(--cream);scroll-behavior:smooth}
*{box-sizing:border-box} body{margin:0} img{max-width:100%;display:block} a{color:inherit;text-decoration:none} button,input,textarea{font:inherit} .wrap{width:min(1260px,calc(100% - 112px));margin-inline:auto}
.top{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--edge)} .brand,.top nav,.actions{display:flex;align-items:center;gap:16px} .brand{font-weight:700;font-size:1.22rem;gap:7px}.brand img{border-radius:50%}.top nav>a:first-child:hover,footer>a:last-child:hover{text-decoration:underline;text-underline-offset:5px}
.hero{min-height:calc(100svh - 82px);display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:clamp(25px,5vw,75px);padding-block:65px}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin:0 0 24px}.hero .eyebrow,.quote .eyebrow{color:var(--lime)}
h1,h2{font-weight:500;letter-spacing:-.055em;margin:0;line-height:.98} h1{font-size:clamp(3.7rem,6.5vw,7rem)} h2{font-size:clamp(2.85rem,5.3vw,5.75rem)} h1 em{font-family:'Instrument Serif',Georgia,serif;color:var(--lime);font-weight:400} p{line-height:1.55}.intro,.quote p:not(.eyebrow),.work p:not(.eyebrow){font-size:1.14rem;max-width:35ch;margin:25px 0 28px}.intro,.quote p:not(.eyebrow){color:var(--muted)}
.pill{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:10px 19px;border:1px solid transparent;border-radius:100px;font-weight:700;cursor:pointer;transition:transform .18s,background .18s}.pill:hover{transform:translateY(-2px)}.pill:active{transform:translateY(0)}.primary{background:var(--lime);color:var(--pine)}.outline{background:transparent;border-color:var(--edge);color:var(--cream)}.dark{background:var(--pine);color:var(--cream)} :focus-visible{outline:3px solid #96ba48;outline-offset:4px}
.hero-image{position:relative;overflow:hidden;display:block;aspect-ratio:1 / 1.04;background:#543827}.hero-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.hero-image:hover img{transform:scale(1.035)}.hero-image>span{position:absolute;bottom:18px;left:18px;background:var(--cream);color:var(--pine);padding:12px 17px;font-weight:700}.hero-image small{display:block;font-size:.74rem;font-weight:500}
.work{background:var(--cream);color:var(--pine)}.work-layout,.quote{min-height:100svh;display:grid;align-items:center;grid-template-columns:1fr 1.12fr;gap:clamp(30px,8vw,115px);padding-block:80px}.work-preview{display:block;overflow:hidden;aspect-ratio:4/5;width:min(100%,460px);justify-self:end}.work-preview img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.work-preview:hover img{transform:scale(1.025)}
form{display:grid;gap:11px} label{font-weight:600} label small{color:var(--muted);font-weight:400} input,textarea{width:100%;background:#1b3b31;border:1px solid var(--edge);border-radius:7px;color:var(--cream);padding:12px;min-height:46px;margin-bottom:10px} textarea{resize:vertical} form>.pill{justify-self:start} #message-panel{border-top:1px solid var(--edge);margin-top:12px;padding-top:18px} #message-panel label{display:block;margin-bottom:8px}.actions{flex-wrap:wrap} #status{font-size:.92rem;margin:8px 0 0} footer.top{border-bottom:0;border-top:1px solid var(--edge)}
@media(prefers-reduced-motion:no-preference){[data-enter]{animation:enter .55s ease both}@keyframes enter{from{opacity:0;transform:translateY(12px)}}}
@media(max-width:940px){.wrap{width:calc(100% - 64px)}.hero{gap:24px}.work-layout,.quote{gap:40px}h1{font-size:clamp(3.1rem,7.8vw,5.4rem)}}
@media(max-width:670px){.wrap{width:calc(100% - 36px)}.top{min-height:66px}.top nav{gap:10px}.top nav>a:first-child{font-size:.88rem}.brand{font-size:1rem}.brand img{width:34px;height:34px}.pill{padding-inline:14px;gap:7px}.hero,.work-layout,.quote{grid-template-columns:1fr;min-height:0;padding-block:48px;gap:33px}.hero-image{aspect-ratio:1.14}.work-preview{justify-self:start}.quote p:not(.eyebrow){margin-bottom:0} h1{font-size:clamp(2.8rem,11vw,4.55rem)}}

.top nav a:not(.pill):hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.text-link{font-weight:600}
.services{background:var(--cream);color:var(--pine)}
.services-inner,.plans-inner{padding-block:clamp(64px,9vw,135px)}
.services h2,.plans h2{max-width:18ch}
.service-grid,.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}
.service-grid article,.plan-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,4vw,48px);border:1px solid #102e2540}
.service-grid h3,.plan-grid h3{font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.05;letter-spacing:-.04em;margin:0}
.service-grid p{max-width:37ch;margin:16px 0 26px}
.service-grid .pill{margin-top:auto}
.plans{background:#1b3b31}
.plan-grid article{border-color:var(--edge)}
.plan-grid .price{font-size:clamp(1.45rem,3vw,2.6rem);margin:18px 0 4px}
.plan-grid .price small{font-size:.95rem;color:var(--muted)}
.plan-grid p:not(.price){margin-bottom:24px}
.plan-grid .pill{margin-top:auto}
.work{background:var(--pine);color:var(--cream);border-bottom:1px solid var(--edge)}
select{width:100%;background:#1b3b31;border:1px solid var(--edge);border-radius:7px;color:var(--cream);padding:12px;min-height:46px;margin-bottom:10px;font:inherit}
.instagram-contact{padding:26px;border:1px solid var(--edge)}
.instagram-contact label{display:block;margin-bottom:10px}
.privacy-note,.feedback{color:var(--muted)}
.feedback{min-height:1.5rem}
.feedback a{text-decoration:underline}
.pill:disabled{opacity:.65;cursor:wait;transform:none}
.payment-return{padding-block:36px;border-bottom:1px solid var(--edge)}
.google-account{position:relative}
.google-account-panel{position:absolute;z-index:2;right:0;top:calc(100% + 8px);display:grid;gap:10px;width:max-content;min-width:225px;max-width:min(320px,calc(100vw - 36px));padding:14px;background:var(--pine);border:1px solid var(--edge);border-radius:8px;box-shadow:0 8px 24px #0003;overflow-wrap:anywhere}
.google-account-panel [role=status]:empty{display:none}
@media(max-width:670px){.top nav .nav-social{display:none}.service-grid,.plan-grid{grid-template-columns:1fr;gap:14px}.top nav{flex-wrap:wrap;justify-content:flex-end}.top nav .pill{min-height:38px}.plans-inner,.services-inner{padding-block:58px}}
@media(max-width:390px){.top nav a[href="#demo"]{display:none}}
