:root{color-scheme:light;--cream:#fffcf5;--paper:#ffffff;--ink:#302a2b;--muted:#62585a;--coral:#ef837b;--coral-dark:#87362f;--turquoise:#71cecc;--turquoise-dark:#206664;--gold:#ffbf57;--lavender:#c4afe5;--line:#e4ddd2}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;min-height:100vh;display:flex;flex-direction:column}main{flex:1 1}a{color:inherit;text-underline-offset:.25em}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,p{margin:0}h1{font-family:Trebuchet MS,Arial,sans-serif;font-size:clamp(2.5rem,6vw,4.75rem);line-height:1.08;letter-spacing:-.055em;overflow-wrap:break-word}:where(a,button):focus-visible{outline:3px solid var(--turquoise-dark);outline-offset:5px}:where(button,.button){min-height:44px}.container{width:min(100% - 2.5rem,1160px);margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-10rem;z-index:20;padding:.75rem 1rem;background:white}.skip-link:focus{top:1rem}.site-header{background:var(--paper);border-top:5px solid var(--turquoise);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-block:.75rem}.brand{flex-shrink:0;width:72px}.header-actions{display:flex;align-items:center;gap:.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1.15rem;border:2px solid transparent;border-radius:999px;background:var(--coral);color:var(--ink);font-size:.9375rem;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}.button:hover{background:#f59b91;border-color:var(--coral-dark)}.menu-toggle{background:transparent;border:1px solid var(--line);border-radius:.75rem;padding:.5rem .7rem;color:var(--ink);cursor:pointer;font-size:.875rem;font-weight:700}.desktop-navigation{display:none}.mobile-navigation{padding-block:.5rem 1rem}.mobile-navigation a{display:flex;align-items:center;min-height:48px;padding:.5rem .75rem;border-radius:.5rem;text-decoration:none}.mobile-navigation a[aria-current=page]{background:#edf9f8;color:var(--turquoise-dark);font-weight:700}.mobile-navigation a:hover{background:var(--cream)}.home-page{padding-block:2.5rem 3rem}.hero{display:grid;align-items:center;grid-gap:2rem;gap:2rem}.eyebrow{font-size:.875rem;font-weight:700;color:var(--turquoise-dark);margin-bottom:1.25rem;letter-spacing:.09em;text-transform:uppercase}.hero h1{font-size:clamp(3.25rem,7.5vw,6.5rem)}.hero h1 span{color:var(--coral-dark)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.5rem;margin-top:2rem}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--turquoise-dark)}.hero-brand{width:min(100%,450px);justify-self:center;padding:1rem;background:white;border-radius:2rem}.draft-note{margin-top:2rem;max-width:760px;border-left:3px solid var(--lavender);padding:.5rem 0 .5rem 1rem;color:var(--muted);font-size:.9375rem}.draft-note span{display:block;margin-bottom:.25rem;color:var(--ink);font-size:.875rem;font-weight:700}.page-shell{padding-block:3rem 4rem;min-height:55vh}.page-content{margin-top:2rem}.page-content>.draft-note:first-child{margin-top:0}.page-cta{margin-top:2rem}.lead{max-width:650px;font-size:1.125rem}.photo-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;margin-top:2.5rem}.photo-slot{display:grid;place-items:center;aspect-ratio:4/3;border:1px dashed #998b9d;border-radius:1.25rem;background:#f3edf9;padding:1rem}.photo-slot:nth-child(2){background:#edf9f8}.photo-slot:nth-child(3){background:#fff2dc}.photo-slot span{font-size:.875rem;color:var(--muted)}.site-footer{background:white;border-top:4px solid var(--gold);padding-block:2rem 1rem}.footer-grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.footer-name{font-family:Trebuchet MS,Arial,sans-serif;font-size:1.4rem;font-weight:700}.footer-grid p+p{color:var(--muted);font-size:.9375rem}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:1rem;column-gap:1rem}.footer-bottom a,.footer-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.footer-bottom p{color:var(--muted);font-size:.875rem}.footer-bottom nav{display:flex;gap:1.5rem}@media (min-width:700px){.container{width:min(100% - 4rem,1160px)}.hero{grid-template-columns:1.1fr 1fr;gap:3rem}.home-page{padding-block:4rem}.page-shell{padding-block:4.5rem 5rem}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:3rem}}@media (min-width:1100px){.brand{width:92px}.desktop-navigation{display:flex;gap:1.25rem}.desktop-navigation a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-decoration:none}.desktop-navigation a[aria-current=page]{color:var(--turquoise-dark);text-decoration:underline;text-decoration-thickness:2px}.desktop-navigation a:hover{text-decoration:underline}.menu-toggle,.mobile-navigation{display:none}}@media (max-width:359px){.header-actions,.header-inner{flex-wrap:wrap}}@media (prefers-reduced-motion:no-preference){a,button{transition:background-color .14s ease,border-color .14s ease}}h2,h3{font-family:Trebuchet MS,Arial,sans-serif;line-height:1.16;letter-spacing:-.025em}h2{font-size:clamp(1.9rem,3.5vw,2.8rem);margin:0 0 1.2rem}h3{font-size:1.35rem;margin:0 0 .85rem}p+p{margin-top:1rem}figure{margin:0}.hero h1{font-size:clamp(2.7rem,4.6vw,4rem);letter-spacing:-.045em}.hero .lead{margin-top:1.5rem}.hero-photo{padding:.7rem;background:#fff;border:1px solid var(--line);border-radius:9rem 9rem 1.25rem 1.25rem;box-shadow:12px 14px 0 #f4d38f}.hero-photo img{width:100%;border-radius:8.5rem 8.5rem .6rem .6rem}.hero-photo figcaption{padding:.8rem .5rem .25rem;text-align:center;font-size:.85rem;color:var(--muted)}.supporting{font-size:.875rem;color:var(--muted);margin-top:1.5rem}.section{margin-top:clamp(3.5rem,7vw,6rem)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}.section-heading>div{max-width:720px}.event-banner{margin-top:4rem;padding:1.8rem;border-radius:1rem;background:#e4f4f1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.event-banner h2{font-size:1.65rem;margin-bottom:.5rem}.cards,.two-column{display:grid;grid-gap:1.25rem;gap:1.25rem;margin-top:1.5rem}.card{padding:1.65rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.cards .card:nth-child(2){background:#eef7f5}.cards .card:nth-child(3){background:#f4effa}.card-number{display:inline-block;margin-bottom:1.5rem;font-weight:700;color:var(--coral-dark);border-bottom:3px solid var(--coral)}.gallery{column-count:2;column-gap:1rem;margin-top:1.75rem}.gallery figure{page-break-inside:avoid;break-inside:avoid;margin-bottom:1rem;border-radius:.9rem;overflow:hidden;background:#eee8e0}.gallery img{width:100%;height:auto}.pricing{margin-block:1.5rem;padding:clamp(1.5rem,4vw,3rem);background:#fff0db;border-radius:1.25rem;display:grid;grid-gap:2rem;gap:2rem}.price{font-size:clamp(3.5rem,7vw,5rem);font-weight:700;letter-spacing:-.055em;line-height:1.1}.price span{font-size:1.2rem;letter-spacing:0;font-weight:400}dl{margin:0}dl>div{padding-block:.75rem;border-bottom:1px solid #cabcaa}dt{font-weight:700}dd{margin:.25rem 0 0}.steps{padding:0;list-style:none;counter-reset:booking;display:grid;grid-gap:1.5rem;gap:1.5rem;margin-top:2rem}.steps li{counter-increment:booking;font-weight:700}.steps li:before{content:counter(booking,decimal-leading-zero);display:block;font-size:1.6rem;color:var(--turquoise-dark);margin-bottom:.7rem}.note{padding:1rem 0 1rem 1rem;border-left:3px solid var(--lavender);color:var(--muted);margin-top:1.5rem}.about-preview{display:grid;align-items:center;grid-gap:2rem;gap:2rem}.portrait{max-width:310px}.portrait img{width:100%;border-radius:8rem 8rem 1rem 1rem}.press{background:#f0e9f7;padding:clamp(1.5rem,4vw,3rem);border-radius:1.25rem}.press h2{max-width:700px}.faqs{margin-block:1.5rem;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:1.25rem .25rem;cursor:pointer;font-size:1.05rem;font-weight:700}summary:focus-visible{outline:3px solid var(--turquoise-dark);outline-offset:3px}details p{padding:0 .25rem 1.5rem;max-width:850px}.final-cta{margin-top:5rem;padding:clamp(2rem,5vw,4rem);background:#fbe2d9;border-radius:1.5rem;text-align:center}.final-cta h2{max-width:700px;margin-inline:auto}.final-cta .hero-actions{justify-content:center}.stat{font-size:1.6rem;font-weight:700;color:var(--turquoise-dark)}table{width:100%;border-collapse:collapse;background:white}caption{font-weight:700;padding-bottom:.75rem}caption,td,th{text-align:left}td,th{padding:.9rem;border-bottom:1px solid var(--line)}thead{background:#e4f4f1}.comfortable-list li{margin-block:.75rem}.callout{padding:2rem;border-radius:1rem;background:#e4f4f1}.caricatures{padding:clamp(1.5rem,4vw,3rem);background:#f0e9f7;border-radius:1.5rem}.caricatures img,.seasonal-photos img,.two-column>div>img,.two-column>img{border-radius:1rem;width:100%;height:auto}.two-column>div>img{max-width:320px;margin-top:1.5rem}.seasonal-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-items:start;margin-top:1.5rem}.request-status{background:#fff0db;border:1px solid #d8bb85;border-radius:1rem;padding:2rem;margin-top:2rem}.request-steps{padding-left:1.5rem}.request-steps li{padding:.75rem 0 .75rem .5rem}.legal-content{max-width:780px}.legal-content section{margin-top:2.5rem}.legal-content h2{font-size:1.5rem}.effective-date{color:var(--muted);margin-bottom:1.5rem}.social-links{display:flex;gap:.5rem 1rem;flex-wrap:wrap;margin-top:1rem}.social-links a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-size:.875rem}.page-shell>h1{max-width:950px}@media(min-width:700px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing,.two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery{column-count:3}.about-preview{grid-template-columns:.7fr 1.3fr}.hero-photo{max-width:390px;justify-self:end}.caricatures .two-column{max-width:680px;margin-inline:auto}}@media(min-width:1100px){.gallery{column-count:4}}@media(max-width:699px){.hero-photo{max-width:420px;margin:.5rem 12px 0 0}.hero .lead{font-size:1rem}.page-shell h1{font-size:2.7rem}.seasonal-photos{grid-template-columns:1fr;max-width:330px}}.hero-photo{border-radius:1.5rem}.hero-photo img{border-radius:1rem}@media (min-width:700px){.hero-photo{max-width:520px}}.agreement-shell{width:min(100% - 2rem,860px);margin:0 auto;padding:2rem 0 4rem}.agreement-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem 1rem;border-bottom:3px solid var(--turquoise);padding-bottom:1rem}.agreement-title p{width:100%;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.agreement-title h1{font-size:clamp(2rem,8vw,3.2rem)}.agreement-title span{color:var(--muted);font-weight:700}.agreement-accept,.agreement-card,.agreement-confirmation{margin-top:1.25rem;padding:clamp(1.1rem,4vw,2rem);background:white;border:1px solid var(--line);border-radius:1rem}.agreement-accept h2,.agreement-card h2,.agreement-confirmation h2,.agreement-terms>h2{font-size:1.5rem}.agreement-summary dl{display:grid;grid-gap:.25rem 1.5rem;gap:.25rem 1.5rem}.agreement-summary h3{margin-top:1.5rem}.agreement-card dt,.agreement-confirmation dt{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.agreement-card dd,.agreement-confirmation dd{margin:0;font-weight:700;overflow-wrap:anywhere}.agreement-prices>div,.agreement-totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.agreement-totals{margin-top:1rem}.agreement-totals>div:first-child{font-size:1.1rem}.booking-gate{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:1.25rem;padding:1.25rem;background:#e4f4f1;border-left:4px solid var(--turquoise-dark);border-radius:.5rem}.agreement-progress{margin-top:1rem;padding:1rem;background:#fff1ec;border-left:4px solid var(--coral-dark);border-radius:.5rem;font-weight:700}.agreement-terms{margin-top:2.5rem}.agreement-terms>section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.agreement-terms h3{font-size:1.05rem}.agreement-terms p{font-size:.95rem;line-height:1.55;white-space:pre-wrap}.agreement-check{display:flex;gap:.75rem;align-items:flex-start;min-height:48px;font-weight:700}.agreement-check input{width:24px;height:24px;flex:0 0 auto;accent-color:var(--turquoise-dark)}.agreement-accept form>label:not(.agreement-check){display:block;margin-top:1.25rem;font-weight:700}#signer-name,.agreement-accept input[type=text]{width:100%;min-height:50px;margin:.5rem 0 1rem;padding:.8rem;font:inherit;border:1px solid #8c8580;border-radius:.5rem}.agreement-accept .button{width:100%;border:0;cursor:pointer}.agreement-accept .button:disabled{opacity:.55;cursor:not-allowed}.agreement-confirmation{background:#e4f4f1;border-color:var(--turquoise)}.agreement-kicker{color:var(--turquoise-dark);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.agreement-confirmation dl{margin-top:1.5rem;display:grid;grid-gap:1rem;gap:1rem}.agreement-alert{margin-top:2rem;padding:1.5rem;background:#fff1ec;border:2px solid var(--coral-dark);border-radius:1rem}@media(min-width:700px){.agreement-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.agreement-confirmation dl{grid-template-columns:repeat(3,minmax(0,1fr))}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.request-flow{max-width:760px;margin-top:2.5rem}.request-flow fieldset{border:0;padding:0;margin:0;min-width:0}.request-flow progress{width:100%;height:8px;accent-color:var(--turquoise-dark);margin:1rem 0 2rem}.request-progress{font-weight:700;color:var(--turquoise-dark)}.request-required{font-size:.875rem;color:var(--muted)}.request-fields{display:grid;grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem}.request-field label{display:block;font-weight:700;margin-bottom:.5rem}.request-field input,.request-field select,.request-field textarea{width:100%;min-height:48px;padding:.8rem;font:inherit;color:var(--ink);background:white;border:1px solid #8c8580;border-radius:.5rem}.request-field input:focus-visible,.request-field select:focus-visible,.request-field textarea:focus-visible{outline:3px solid var(--turquoise-dark);outline-offset:3px}.request-field [aria-invalid=true]{border:2px solid #87362f}.request-checkbox{display:flex;align-items:center;gap:.75rem;min-height:48px;margin-block:1rem}.request-checkbox input{width:22px;height:22px;flex-shrink:0;accent-color:var(--turquoise-dark)}.request-error{border:2px solid #87362f;background:#fff1ec;padding:1rem;margin-top:1rem;border-radius:.5rem}.field-error{color:#87362f;font-weight:700;font-size:.9rem}.request-review section{margin-top:2rem;padding:1.5rem;background:white;border:1px solid var(--line);border-radius:1rem}.request-review h3{display:flex;justify-content:space-between;align-items:center;gap:1rem}.request-review button{border:0;background:transparent;cursor:pointer;font:inherit;font-size:.9rem}.request-review dd{white-space:pre-wrap;overflow-wrap:anywhere}.request-flow button:disabled{opacity:.65;cursor:wait}.receipt{overflow-wrap:anywhere;font-size:.875rem}