:root{--cream:#f7f3ea;--ink:#203f37;--muted:#5d675f;--orange:#cf5b37;--paper:#fffdf7;--gold:#b19853;--line:#dcded2;--mint:#e8eddf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(58px,6.4vw,98px);font-weight:700;margin:24px 0 27px;position:relative}h2{font-size:clamp(35px,4vw,57px);font-weight:600;margin-bottom:26px}h3{font-size:24px;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}p{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--ink);line-height:1.6;margin-bottom:15px}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:1440px;margin:auto;padding:19px 48px;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:18px;font-weight:800;letter-spacing:1.5px;font-size:17px;line-height:1.4}.brand img{width:94px;height:55px;object-fit:contain}.brand-divider{height:32px;width:1px;background:var(--line)}.brand-sub{display:block;font-size:8px;letter-spacing:1.7px;font-weight:500;margin-top:4px}.header nav{display:flex;gap:28px;align-items:center;font-size:13px}.header nav>a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{background:var(--ink);color:white;padding:12px 20px;border-radius:5px}.nav-cta span{margin-left:17px}.menu{display:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:48px;align-items:center;min-height:720px;padding-top:74px;padding-bottom:90px}.hero-copy{padding-bottom:15px}.mini-grid{font-size:21px;vertical-align:middle;margin-right:7px;color:var(--orange)}.hero h1 em{position:relative}.underline{position:absolute;width:38%;height:18px;left:37%;bottom:-13px;stroke:var(--orange);fill:none;stroke-width:2;transform:rotate(-4deg)}.intro{font-size:18px;line-height:1.7;max-width:415px;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;font-size:14px;font-weight:700;min-height:53px;padding:15px 23px;border:0;border-radius:5px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.orange{background:var(--orange);color:#fffdf6}.orange:hover{background:#b84728}.text-link{font-size:13px;font-weight:bold;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{margin-left:20px}.hero-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;margin-top:29px;color:var(--muted)}.hero-art{position:relative;padding:14px 8px 0 0}.picture-frame{transform:rotate(2deg);background:var(--paper);padding:12px;box-shadow:0 13px 35px #233f3714;border:1px solid #e7e2d8}.picture-frame img{aspect-ratio:1;object-fit:contain}.picture-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;padding:13px 5px 3px;color:var(--muted)}.price-sticker{position:absolute;top:-18px;right:-22px;background:#eec987;width:143px;height:143px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);outline:1px dashed #9b7e43;outline-offset:-8px;box-shadow:0 4px 14px #203f3712}.price-sticker>span{font-size:9px;line-height:1.4;text-align:center;font-weight:bold}.price-sticker>span:first-child{font-size:7px;letter-spacing:1px}.price-sticker strong{font-size:43px;line-height:1.3;letter-spacing:-3px}.scribble{display:block;text-align:center;font-size:20px;font-family:Georgia,serif;font-style:italic;transform:rotate(-4deg);margin-top:22px;color:var(--orange)}.ribbon{background:var(--ink);color:var(--cream);overflow:hidden;padding:22px 30px}.ribbon>div{display:flex;justify-content:space-around;align-items:center;gap:35px;max-width:1380px;margin:auto;font-size:17px;white-space:nowrap}.ribbon i{font-size:24px;color:#edc786;font-style:normal}.idea{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}.idea-image{position:relative;max-width:470px}.idea-image img{aspect-ratio:1;object-fit:contain;border-radius:6px}.image-note{position:absolute;bottom:-17px;left:17px;transform:rotate(-3deg);background:#efce93;padding:9px 20px;font-family:Georgia,serif;font-style:italic;font-size:17px}.idea-copy p{font-size:15px}.idea-copy .eyebrow{font-size:11px}.pullquote{border-left:2px solid var(--orange);padding-left:18px;color:var(--ink);font-weight:700;margin:28px 0}.weather{background:var(--mint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.weather-inner{display:flex;align-items:center;gap:35px;padding-top:37px;padding-bottom:37px}.weather svg{width:86px;flex-shrink:0}.weather h2{font-size:29px;letter-spacing:-1px;margin-bottom:8px}.weather .eyebrow{font-size:9px;margin-bottom:9px}.weather p:last-child{font-size:14px;max-width:740px;margin:0}.round-link{border:1px solid #94a18f;border-radius:50%;height:55px;width:55px;display:grid;place-items:center;font-size:25px;flex-shrink:0;margin-left:auto}.round-link:hover{background:var(--ink);color:white}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>p{font-size:14px;margin-bottom:4px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0 30px}.filters button{border:1px solid #c8cdbf;border-radius:30px;padding:9px 18px;font-size:12px;background:transparent;color:var(--ink)}.filters button.active,.filters button:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}.gallery-item{background:none;padding:0;border:0;text-align:left;color:var(--ink)}.gallery-item[hidden]{display:none}.gallery-item img{aspect-ratio:1;object-fit:contain;border-radius:4px;transition:transform .3s}.gallery-item:hover img{transform:translateY(-5px)}.gallery-item>span{display:flex;justify-content:space-between;align-items:center;padding:13px 2px;font-size:14px;font-weight:700}.gallery-item b{font-size:20px;font-weight:400}.gallery-hint{font-size:11px;text-align:center;margin:25px 0 0}.process{background:#eee9dd}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.step-n{display:block;color:var(--orange);font-family:Georgia,serif;font-style:italic;font-size:45px;line-height:1.3;margin-bottom:25px;border-bottom:1px solid #d1cdbf;padding-bottom:20px}.steps p{font-size:14px;margin-bottom:0}.offer-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.offer-text h2{font-size:clamp(40px,4.5vw,65px)}.offer-text>p:not(.eyebrow){font-size:15px;max-width:390px}.handwritten{display:block;font-family:Georgia,serif;font-style:italic;color:var(--orange);font-size:19px;transform:rotate(-3deg);margin-top:35px}.offer-card{background:var(--paper);border:1px solid #d9d5c6;box-shadow:8px 8px 0 #e5e7d9;border-radius:7px;padding:35px 38px}.offer-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.offer-top .eyebrow{font-size:10px;margin:0}.offer-top>span:last-child{font-size:38px;color:var(--orange)}.price{font-size:100px;line-height:1.15;font-weight:bold;letter-spacing:-6px;margin:5px 0}.price>span{font-size:55px;letter-spacing:-3px;font-weight:400}.price-detail{font-size:15px;max-width:300px}.offer-card ul{list-style:none;padding:22px 0 6px;border-top:1px solid var(--line);margin:22px 0}.offer-card li{font-size:14px;margin-bottom:12px}.offer-card li:before{content:'✓';color:var(--orange);margin-right:13px}.offer-card .button{width:100%;margin-top:10px}.offer-note{font-size:10px;text-align:center;margin:15px 0 0}.gift{display:flex;align-items:center;gap:27px;background:#ead4ad;padding-top:36px;padding-bottom:36px;border-radius:7px}.gift-icon{font-size:64px;line-height:1;flex-shrink:0;color:var(--orange)}.gift .eyebrow{font-size:9px;margin-bottom:7px}.gift h2{font-size:29px;letter-spacing:-1px;margin-bottom:10px}.gift p:last-child{font-size:13px;max-width:590px;margin:0;color:var(--ink)}.gift .button{flex-shrink:0;font-size:12px;margin-left:auto}.outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}.outline:hover{background:var(--ink);color:var(--cream)}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.about-mark{background:var(--ink);padding:70px 35px;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50% 50% 4px 4px}.about-mark img{width:240px;max-width:100%}.about-mark span{font-family:Georgia,serif;font-style:italic;color:#ebd6a5;font-size:17px;margin-top:26px}.about>div:last-child>p:not(.eyebrow){font-size:15px}.faq-section{background:#eeeee4}.faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq-layout>div>p:last-child{font-size:14px}.faq details{border-bottom:1px solid #ccd2c5}.faq details:first-child{border-top:1px solid #ccd2c5}.faq summary{font-size:15px;font-weight:bold;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 0}.faq summary:after{content:'+';font-size:22px;font-weight:400;color:var(--orange)}.faq details[open] summary:after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq details p{font-size:14px;padding-right:28px;margin:0 0 22px}.contact{background:var(--ink);color:var(--cream)}.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:95px}.contact .eyebrow{color:#dbc79e}.contact h2{font-size:clamp(42px,4.5vw,65px)}.contact em{color:#e3b778}.contact p{color:#c6d0c5;font-size:14px;max-width:410px}.contact-mail{display:block;font-size:19px;font-weight:600;margin-top:30px}.contact-phone{display:inline-block;margin-top:7px;font-size:13px;color:#c6d0c5}.contact-sign{margin:35px 0 0}.contact-sign span{font-size:36px;font-family:Georgia,serif;font-style:italic;color:#e3b778}.contact form label{display:block;font-size:12px;line-height:1.5;letter-spacing:.3px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{margin-top:8px;background:#ffffff09;border:1px solid #6c8173;border-radius:4px;padding:12px 13px;width:100%;color:var(--cream);font-size:13px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#bac6bc}select option{color:var(--ink);background:var(--cream)}textarea{resize:vertical;min-height:135px}.contact p.form-help{font-size:11px;line-height:1.6;max-width:none;margin:0 0 18px}.contact p.form-privacy{font-size:10px;margin-top:15px;max-width:none}.form-privacy a{text-decoration:underline}.contact .button{width:100%;font-size:13px}.footer{padding-top:38px;padding-bottom:24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:30px;border-bottom:1px solid var(--line)}.footer-grid{font-size:43px;font-weight:400;color:var(--orange)}.footer-top p{font-family:Georgia,serif;font-style:italic;font-size:15px;margin:0}.footer-top>a:last-child{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:21px;font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;gap:23px}a:hover.text-link,.footer a:hover{color:var(--orange)}:focus-visible{outline:3px solid #d79e58;outline-offset:5px}.skip{position:fixed;left:15px;top:-100px;background:var(--ink);color:white;padding:14px;z-index:50}.skip:focus{top:10px}dialog{border:0;padding:45px 18px 12px;background:var(--cream);border-radius:8px;width:min(87vw,850px);max-height:94dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#10231ee6}dialog img{max-height:78dvh;object-fit:contain}dialog p{text-align:center;font-size:12px;margin:12px 0 4px}.close-lightbox{position:absolute;right:11px;top:4px;background:none;color:var(--ink);border:0;font-size:31px;line-height:1;padding:5px 10px}.mobile-nav{display:none}
@media(min-width:1440px){.hero{min-height:790px}}
@media(max-width:1100px){.header{padding:17px 28px}.header nav{gap:18px}.brand{gap:12px;font-size:15px}.wrap{padding-left:32px;padding-right:32px}.hero{gap:30px}.hero h1{font-size:clamp(54px,6.6vw,73px)}.hero-actions{gap:17px}.hero-facts{font-size:9px;gap:11px}.price-sticker{right:-5px;width:125px;height:125px}.idea{gap:50px}.offer-section{gap:60px}.gift{margin-left:32px;margin-right:32px}.gift-icon{display:none}.about{gap:65px}.contact-layout{gap:55px}.footer-top p{display:none}.hero-art{padding-right:15px}}
@media(max-width:800px){.header nav{display:none}.menu{display:block;border:1px solid #c7cbbc;border-radius:4px;background:transparent;font-size:22px;color:var(--ink);padding:4px 11px}.mobile-nav:not([hidden]){display:grid;padding:10px 28px 20px;border-bottom:1px solid var(--line);gap:12px}.header{padding:13px 24px}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;gap:38px;padding-top:48px;padding-bottom:55px;min-height:0}.hero-copy{max-width:580px}.hero h1{font-size:clamp(60px,10vw,84px);max-width:550px;margin-top:15px}.hero h1 .underline{left:31%;width:32%}.intro{max-width:500px;font-size:17px}.hero-facts{font-size:11px;gap:17px}.hero-art{max-width:540px;width:100%;margin:auto;padding:8px 12px}.price-sticker{width:135px;height:135px;right:-2px;top:-8px}.scribble{margin-top:20px}.ribbon>div{justify-content:flex-start;font-size:14px;gap:25px}.section{padding-top:72px;padding-bottom:72px}.idea{grid-template-columns:1fr;gap:45px}.idea-image{max-width:520px;margin:auto;width:100%}.idea-copy{max-width:600px}.weather-inner{gap:20px;padding-top:30px;padding-bottom:30px}.weather svg{width:65px}.weather h2{font-size:26px}.weather .round-link{display:none}.section-heading{display:block}.section-heading>p{margin-top:22px}.gallery{grid-template-columns:repeat(2,1fr);gap:20px}.steps{gap:24px}.steps h3{font-size:20px}.steps p{font-size:13px}.offer-section{grid-template-columns:1fr;gap:35px}.offer-text h2 br:first-child{display:none}.offer-text>p:not(.eyebrow){max-width:540px}.offer-card{max-width:540px;width:100%;margin:auto}.gift{margin-left:24px;margin-right:24px;display:block;padding:30px}.gift .button{margin-top:24px}.about{grid-template-columns:.7fr 1fr;gap:35px}.about-mark{padding:50px 23px;min-height:260px}.about-mark span{font-size:14px;text-align:center}.faq-layout{grid-template-columns:1fr;gap:25px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact p{max-width:540px}.contact-sign{display:none}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>div{flex-wrap:wrap}.footer-top .brand-sub{font-size:7px}}
@media(max-width:480px){.brand img{width:75px;height:44px}.brand{font-size:14px;gap:11px}.brand-sub{font-size:6px;letter-spacing:1px}.header{padding:12px 20px}.wrap{padding-left:20px;padding-right:20px}.hero{padding-top:34px;gap:38px}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:clamp(49px,13.5vw,61px)}.hero h1 .underline{left:40%;width:36%}.intro{font-size:16px}.hero-actions{gap:17px}.hero-actions .button{font-size:12px;gap:20px;padding:14px 17px}.hero-actions .text-link{font-size:11px}.hero-facts{font-size:9px;gap:9px}.picture-frame{padding:8px}.price-sticker{height:111px;width:111px;top:-13px;right:-3px}.price-sticker strong{font-size:35px}.price-sticker>span{font-size:8px}.price-sticker>span:first-child{font-size:6px;letter-spacing:.5px}.picture-caption{font-size:8px}.scribble{font-size:17px}.section{padding-top:60px;padding-bottom:60px}h2{font-size:36px}.weather svg{width:47px}.weather-inner{gap:17px}.weather h2{font-size:23px}.weather p:last-child{font-size:12px}.weather .eyebrow{font-size:7px;letter-spacing:1px}.filters{gap:8px}.filters button{padding:8px 12px;font-size:10px}.gallery{gap:14px}.gallery-item>span{font-size:11px;padding:9px 1px}.gallery-item b{font-size:15px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps article{display:grid;grid-template-columns:48px 1fr;column-gap:22px}.step-n{grid-row:span 2;font-size:34px;border:0;margin:0;padding:0}.steps h3{font-size:23px;margin-bottom:11px}.steps p{font-size:14px}.offer-card{padding:25px}.price{font-size:90px}.offer-text h2{font-size:43px}.handwritten{font-size:17px}.gift{margin-left:20px;margin-right:20px;padding:28px 25px}.gift h2{font-size:29px}.about{grid-template-columns:1fr;gap:35px}.about-mark{max-width:300px;width:100%;margin:auto;min-height:230px;padding:45px 38px}.form-row{grid-template-columns:1fr;gap:0}.contact h2{font-size:47px}.contact-mail{font-size:19px}.footer-top{gap:12px}.footer-top .brand{font-size:14px;gap:11px}.footer-top .brand-sub{font-size:6px;letter-spacing:.6px}.footer-top>a:last-child{font-size:10px}.footer-grid{font-size:35px}.footer-bottom>div{gap:18px}dialog{width:96vw;padding:43px 8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Original In the Box identity and direct appointment booking. */
.header .brand img.box-logo{width:60px;height:69px;object-fit:contain;flex-shrink:0}
.footer .brand img.footer-box-logo{width:48px;height:55px;object-fit:contain;flex-shrink:0}
.booking-note{font-size:11px;line-height:1.65;max-width:420px;margin:17px 0 0;color:var(--muted)}
.booking-note a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.booking-note a:hover{color:var(--orange)}
.offer-booking-note{font-size:11px;margin:17px 0 0;max-width:none;text-align:center}
.hero-facts{margin-top:20px}
@media(max-width:480px){.header .brand img.box-logo{width:43px;height:50px}.header .brand{font-size:12px}.header .brand-sub{font-size:7px}.footer .brand img.footer-box-logo{width:38px;height:44px}.booking-note{font-size:10px;max-width:350px}.hero-actions{gap:15px}}

/* Personal portrait with photographer credit. */
.about-portrait{margin:0;width:100%;max-width:400px;justify-self:center}
.about-portrait>img{width:100%;height:auto;border-radius:7px;display:block}
.about-portrait figcaption{font-size:10px;line-height:1.6;color:var(--muted);margin-top:9px;text-align:right}
.about-portrait figcaption a{text-decoration:underline;text-underline-offset:3px}
.about-portrait figcaption a:hover{color:var(--orange)}
@media(max-width:480px){.about-portrait{max-width:340px}}

/* Gift purchase via the supplied Stripe Buy Button. */
.gift{display:grid;grid-template-columns:minmax(0,1fr) minmax(288px,360px);gap:38px;align-items:center}
.gift-copy{min-width:0}.gift .gift-copy>p{font-size:13px;color:var(--ink);max-width:590px}
.gift .gift-payment-info{margin-top:17px;margin-bottom:23px}
.gift .gift-request.text-link{font-size:12px;display:inline-block}
.gift-checkout{min-width:0;max-width:100%;text-align:center}
stripe-buy-button{display:block;width:100%;max-width:100%}
.gift .gift-checkout-help{font-size:10px;color:var(--muted);margin:14px 0 0;max-width:none}
.gift-checkout-help a{text-decoration:underline;text-underline-offset:3px}
.faq details p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.gift{grid-template-columns:1fr;gap:30px}.gift-checkout{width:100%;max-width:380px;justify-self:center}}
@media(max-width:480px){.gift{margin-left:0;margin-right:0;padding:28px 16px;border-radius:0}}

.studio-address{font-style:normal;font-size:13px;line-height:1.7;color:#c6d0c5;margin-top:25px}.studio-address strong{color:var(--cream);font-weight:600}

.stripe-consent{padding:23px;background:var(--paper);border:1px solid #d4bb90;border-radius:6px;text-align:left}
.stripe-consent .eyebrow{font-size:9px}.stripe-consent h3{font-size:25px}
.gift .stripe-consent p:not(.eyebrow){font-size:11px;line-height:1.6;margin-bottom:14px}
.stripe-consent a{text-decoration:underline}.stripe-consent .button{font-size:12px;padding:13px 15px;width:100%;margin:0}
.gift #stripe-active p,.gift #stripe-status{font-size:10px;margin:12px 0}
.text-button{background:none;color:var(--ink);font-size:10px;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}
[hidden]{display:none!important}
.legal-page{max-width:900px;padding-top:65px;padding-bottom:80px}.legal-page h1{font-size:clamp(40px,6vw,65px);margin-bottom:22px;overflow-wrap:anywhere}.legal-page h2{font-size:26px;letter-spacing:-.02em;margin-top:38px;margin-bottom:16px;line-height:1.25}.legal-page h3{font-size:20px;letter-spacing:-.01em;margin-top:25px}.legal-page p,.legal-page li{font-size:15px;line-height:1.8}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-page address{font-style:normal}.legal-page ul{padding-left:22px;color:var(--muted)}.legal-page .legal-date{font-size:11px;color:var(--muted)}.legal-nav{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:35px;display:flex;flex-wrap:wrap;gap:20px;font-size:13px}

/* Crisp vector icons, independent of emoji fonts. */
.link-arrow{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:-3px}
.round-link>.link-arrow{width:24px;height:24px;vertical-align:0}
.footer .link-arrow,.about-portrait figcaption .link-arrow{width:13px;height:13px;vertical-align:-2px}
.gallery-item .gallery-expand{width:18px;height:18px}
