@font-face{font-family:FreeSerif;src:url('assets/fonts/FreeSerif.woff2') format('woff2');font-display:swap}@font-face{font-family:FreeSerif;src:url('assets/fonts/FreeSerifItalic.woff2') format('woff2');font-style:italic;font-display:swap}@font-face{font-family:Lato;src:url('assets/fonts/Lato-Regular.woff2') format('woff2');font-display:swap}@font-face{font-family:Lato;src:url('assets/fonts/Lato-Light.woff2') format('woff2');font-weight:300;font-display:swap}
:root{--cream:#f8f4ed;--paper:#fcfaf6;--champagne:#ece1d0;--gold:#997844;--ink:#302821;--muted:#685b4e;--line:#d9c9b3;--serif:FreeSerif,Georgia,serif;--sans:Lato,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:#dfc79e;color:#241d16}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}h1,h2,p,figure{margin:0}.wrap{width:min(100% - 40px,1240px);margin-inline:auto}.skip-link{position:absolute;z-index:50;top:-100px;left:12px;background:var(--paper);padding:12px}.skip-link:focus{top:12px}.site-header{position:relative;z-index:10;background:var(--cream);border-bottom:1px solid rgba(153,120,68,.25)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;gap:7px;align-items:center;text-decoration:none;flex:none;color:#4d341f}.wordmark-sign{font:italic 52px/.8 var(--serif);color:var(--gold);padding-right:6px;border-right:1px solid var(--gold)}.wordmark-name{font:20px/.8 var(--serif);white-space:nowrap}.wordmark-name em{font-size:18px}.main-nav{display:flex;gap:clamp(13px,2.4vw,36px);align-items:center}.main-nav a{text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4c4035;white-space:nowrap}.main-nav a:hover,.text-link:hover,.qr-card a:hover{color:var(--gold)}
.hero{background:var(--paper);overflow:hidden}.hero-copy{padding-top:clamp(70px,9vw,138px);padding-bottom:clamp(55px,7vw,100px);position:relative;z-index:1}.hero-brand{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold);margin-bottom:23px}.hero h1{font:400 clamp(54px,7.4vw,106px)/.99 var(--serif);letter-spacing:-.028em;max-width:1000px}.hero h1 i,.section h2 i{font-weight:400;color:var(--gold)}.hero-lead{max-width:550px;color:var(--muted);font-size:clamp(16px,1.35vw,19px);font-weight:300;line-height:1.65;margin:32px 0 28px}.text-link{display:inline-flex;gap:42px;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:8px;text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.text-link span{font-size:22px;line-height:1}.hero-art{position:relative;width:min(100% - 40px,1240px);margin-inline:auto;overflow:hidden;aspect-ratio:2.2;background:#e8ded0}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-bottom{display:flex;align-items:center;gap:20px;padding-block:22px;color:#806c55;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.fine-line{height:1px;flex:1;background:var(--line)}
.section{padding-block:clamp(92px,11vw,164px)}.section-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:50px;margin-bottom:48px}.section h2{font:400 clamp(48px,6vw,82px)/1.02 var(--serif);letter-spacing:-.025em}.section-head p{max-width:440px;color:var(--muted);font-weight:300;font-size:17px;line-height:1.7;padding-bottom:6px}.gallery{display:grid;gap:15px}.photo{border:0;background:#e8e1d8;padding:0;overflow:hidden;cursor:zoom-in;min-width:0}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1)}.photo:hover img{transform:scale(1.035)}.baptism-gallery{grid-template-columns:1.18fr .82fr 1fr;grid-template-rows:430px 250px}.baptism-gallery .photo-main{grid-column:span 2}.baptism-gallery .photo-tall{grid-column:3;grid-row:span 2}.baptism-gallery .photo:nth-child(5){grid-column:1/-1;max-height:250px}.baptism-gallery .photo:nth-child(3) img{object-position:center 45%}.interlude{display:flex;justify-content:center;align-items:center;min-height:145px;padding:20px;background:var(--champagne);font:italic clamp(23px,3vw,39px)/1.2 var(--serif);color:#725934;text-align:center}.toys{background:var(--paper)}.toy-gallery{grid-template-columns:repeat(12,1fr);grid-auto-rows:240px}.toy-gallery .photo:nth-child(1){grid-column:span 4;grid-row:span 2}.toy-gallery .photo:nth-child(2){grid-column:span 5}.toy-gallery .photo:nth-child(3){grid-column:span 3;grid-row:span 2}.toy-gallery .photo:nth-child(4){grid-column:span 3}.toy-gallery .photo:nth-child(5){grid-column:span 5}.toy-gallery .photo:nth-child(6){grid-column:span 7}.toy-gallery .photo:nth-child(4) img{object-position:center 30%}
.more{background:#eee5d9}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.more p{margin-top:25px;color:var(--muted);font-weight:300;font-size:17px}.more ul{list-style:none;padding:0;margin:0;border-top:1px solid #c9bba7;align-self:center}.more li{font:400 clamp(22px,2.45vw,34px)/1.2 var(--serif);padding:20px 0;border-bottom:1px solid #c9bba7}.about{background:var(--paper);text-align:center}.about-inner{max-width:760px}.ornament{display:block;font:28px var(--serif);color:var(--gold);margin-bottom:28px}.about h2{margin-bottom:35px}.about p{font:400 clamp(19px,2vw,23px)/1.65 var(--serif);color:#51463b}.signature{display:block;margin-top:38px;font:italic 28px var(--serif);color:var(--gold)}.contacts{background:var(--cream);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.contacts h2{margin-bottom:26px}.contacts p{color:var(--muted);font-weight:300;font-size:17px}.phone{display:inline-block;margin-top:26px;font:400 clamp(32px,3.8vw,52px)/1.2 var(--serif);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.phone:hover{color:var(--gold)}.contact-name{font-size:13px!important;letter-spacing:.08em;margin-top:15px}.qr-card{width:260px;padding:24px;background:#fff;text-align:center;box-shadow:0 15px 40px rgba(73,50,25,.08)}.qr-card img{width:100%;height:auto;image-rendering:pixelated}.qr-card span{display:block;font:italic 21px var(--serif);margin-top:15px}.qr-card a{display:inline-block;margin-top:5px;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.qr-card a span{display:inline;font:inherit;margin:0}.footer{background:#302821;color:#e9dfd2;padding:38px 0}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font:italic 27px var(--serif);text-decoration:none;color:#ead4a9}.footer span{font-size:11px;letter-spacing:.08em}
.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;padding:65px 66px 35px;background:rgba(27,22,18,.97);color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(27,22,18,.9)}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:12px}.lightbox img{max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{font-size:13px;color:#e9ddcf}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;font:40px var(--serif);width:48px;height:48px;display:grid;place-items:center}.lightbox button:hover{color:#dec69c}.lightbox-close{right:14px;top:12px}.lightbox-prev{left:5px;top:50%;transform:translateY(-50%)}.lightbox-next{right:5px;top:50%;transform:translateY(-50%)}
@media(max-width:850px){.header-inner{min-height:84px;align-items:flex-start;flex-direction:column;justify-content:center;padding-block:12px;gap:13px}.main-nav{width:100%;overflow-x:auto;gap:22px;padding-bottom:4px}.hero-copy{padding-top:76px}.section-head{grid-template-columns:1fr;gap:18px}.section-head p{max-width:620px}.baptism-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 260px 260px}.baptism-gallery .photo-main{grid-column:span 2}.baptism-gallery .photo-tall{grid-column:2;grid-row:2/span 2}.toy-gallery{grid-auto-rows:210px}.toy-gallery .photo:nth-child(1){grid-column:span 6}.toy-gallery .photo:nth-child(2){grid-column:span 6}.toy-gallery .photo:nth-child(3){grid-column:span 3;grid-row:span 1}.toy-gallery .photo:nth-child(4){grid-column:span 3}.toy-gallery .photo:nth-child(5){grid-column:span 6}.toy-gallery .photo:nth-child(6){grid-column:span 6}.contact-grid{gap:25px}}
@media(max-width:620px){.wrap{width:min(100% - 34px,1240px)}.site-header .wrap{width:min(100% - 34px,1240px)}.wordmark-sign{font-size:44px}.wordmark-name{font-size:18px}.wordmark-name em{font-size:16px}.main-nav a{font-size:10px}.hero-copy{padding-top:78px;padding-bottom:62px}.hero h1{font-size:clamp(47px,12vw,70px)}.hero-lead{margin-top:24px}.hero-art{width:100%;aspect-ratio:1.38}.hero-art img{object-position:50%}.hero-bottom{font-size:8px;gap:10px;padding-block:17px}.hero-bottom span:last-child{white-space:nowrap}.section{padding-block:82px}.section h2{font-size:clamp(44px,11vw,64px)}.section-head{margin-bottom:28px}.section-head p{font-size:16px}.gallery{gap:8px}.baptism-gallery{grid-template-columns:1fr 1fr;grid-template-rows:245px 245px 200px}.baptism-gallery .photo-main{grid-column:span 2}.baptism-gallery .photo-tall{grid-column:2;grid-row:2/span 2}.interlude{min-height:120px}.toy-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:225px}.toy-gallery .photo:nth-child(n){grid-column:auto;grid-row:auto}.toy-gallery .photo:nth-child(2),.toy-gallery .photo:nth-child(5){grid-column:span 2}.toy-gallery .photo:nth-child(1),.toy-gallery .photo:nth-child(3){grid-row:span 2}.toy-gallery .photo:nth-child(2){height:230px}.more-grid{grid-template-columns:1fr;gap:36px}.more p{margin-top:15px}.more li{padding:16px 0}.about p{font-size:19px}.contact-grid{grid-template-columns:1fr;gap:45px}.qr-card{width:245px}.footer .wrap{flex-direction:column;align-items:flex-start;gap:10px}.lightbox{padding:58px 36px 45px}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Brand artwork keeps its original 16:9 frame at every viewport. */
.hero-art{aspect-ratio:auto;overflow:visible}
.hero-art img{height:auto;object-fit:contain}

.footer .footer-main{align-items:flex-start;gap:48px;padding-bottom:35px}
.footer-workshop p{margin-top:11px;color:#cfbea7;font-size:12px}
.developer-credit{display:flex;align-items:center;gap:17px}
.developer-credit img{width:112px;height:112px;flex:none;background:#fff;padding:5px}
.developer-credit>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.footer .developer-credit .developer-caption{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#d3b881}
.developer-credit strong{font:400 22px/1.15 var(--serif);color:#f5eadb}
.footer .developer-credit span:not(.developer-caption){font-size:12px;letter-spacing:.03em;color:#cfbea7}
.developer-credit a{margin-top:7px;color:#e6d3ad;font-size:11px;letter-spacing:.08em;text-underline-offset:4px}
.footer .footer-bottom{align-items:center;border-top:1px solid rgba(233,223,210,.22);padding-top:20px}
.footer-bottom nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(14px,2vw,30px)}
.footer-bottom nav a,.footer-bottom nav button{border:0;background:none;padding:0;color:#e9dfd2;text-decoration:none;font:400 11px/1.4 var(--sans);letter-spacing:.06em;cursor:pointer}
.footer-bottom nav a:hover,.footer-bottom nav button:hover,.developer-credit a:hover{color:#e6c994}
.footer .install-hint{color:#e4d4be;font-size:12px;margin-top:18px}
.footer .install-hint[hidden]{display:none}
.policy-main{min-height:60vh;background:var(--paper)}
.policy-hero{padding-block:clamp(70px,10vw,130px) 44px;border-bottom:1px solid var(--line)}
.policy-hero h1{font:400 clamp(46px,6vw,76px)/1.03 var(--serif);letter-spacing:-.025em}
.policy-hero p{max-width:680px;margin-top:21px;color:var(--muted);font-size:17px;font-weight:300}
.policy-content{max-width:800px;padding-block:58px 110px}
.policy-content section+section{margin-top:35px}
.policy-content h2{font:400 30px/1.15 var(--serif);margin-bottom:12px}
.policy-content p,.policy-content li{color:#4f443a;font-size:16px;line-height:1.75}
.policy-content p+p{margin-top:12px}
.policy-content ul{padding-left:21px;margin:12px 0 0}
.policy-content a{color:#705126}
.policy-updated{margin-top:44px;color:var(--muted);font-size:13px}
.policy-back{display:inline-block;margin-top:33px;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.policy-header .main-nav{justify-content:flex-end}
@media(max-width:620px){.footer .footer-main,.footer .footer-bottom{align-items:flex-start;gap:25px}.footer-bottom nav{gap:14px 22px}.developer-credit img{width:96px;height:96px}.policy-hero{padding-block:70px 36px}.policy-hero h1{font-size:clamp(34px,8.5vw,46px)}.policy-content{padding-block:44px 80px}.policy-content h2{font-size:26px}}

.cookie-banner{position:fixed;z-index:100;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),780px);display:flex;align-items:flex-end;gap:28px;padding:24px 28px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 55px rgba(48,40,33,.18)}
.cookie-banner[hidden]{display:none}
.cookie-copy{flex:1}
.cookie-copy h2{font:400 27px/1.15 var(--serif);margin:0 0 8px}
.cookie-copy p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.cookie-copy a{color:#76562d}
.cookie-actions{display:flex;gap:9px;flex:none}
.cookie-actions button{min-height:42px;padding:8px 15px;border:1px solid #76562d;background:#76562d;color:#fff;cursor:pointer;font-size:12px;letter-spacing:.03em}
.cookie-actions button+button{background:transparent;color:#55402b}
.cookie-actions button:hover{background:#543c20;color:#fff}

.notfound{background:var(--paper);min-height:calc(100dvh - 190px);padding-block:clamp(70px,9vw,130px)}
.notfound-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,6vw,85px);align-items:center}
.notfound-code{display:block;color:var(--gold);font:italic 31px/1 var(--serif);margin-bottom:20px}
.notfound h1{font:400 clamp(44px,4.6vw,72px)/1.02 var(--serif);letter-spacing:-.025em}
.notfound h1 i{color:var(--gold);font-weight:400}
.notfound-copy>p{max-width:430px;color:var(--muted);font-size:17px;font-weight:300;line-height:1.65;margin:25px 0}
.notfound-help{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-top:1px solid var(--line);margin-top:55px;padding-top:20px}
.notfound-help span{color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.notfound-help strong{font:400 21px/1.2 var(--serif)}
.notfound-help a{font-size:16px;text-decoration:none;border-bottom:1px solid var(--gold)}
.notfound-art{margin:0}
.notfound-art img{width:100%;height:auto;display:block}
@media(max-width:850px){.notfound-inner{grid-template-columns:1fr}.notfound-art{max-width:660px}}
@media(max-width:620px){.cookie-banner{display:block;padding:20px}.cookie-copy h2{font-size:24px}.cookie-actions{margin-top:16px}.cookie-actions button{flex:1}.notfound{padding-block:75px}.notfound h1{font-size:clamp(40px,10vw,58px)}.notfound-help{margin-top:43px}}
