:root{--ink:#2d485c;--blue:#36556b;--cream:#faf7ed;--line:#adb8c3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.7}a{color:inherit}header{min-height:116px;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fffdf7;border-bottom:1px solid var(--line)}.brand{width:215px;text-decoration:none;text-align:center;line-height:1}.brand img{width:100%;display:block}.brand span{font-family:Arial,sans-serif;font-size:13px;letter-spacing:.28em}nav{display:flex;gap:32px;font-family:Arial,sans-serif;font-size:15px}nav a{text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--blue)}.hero{padding:48px 7%;background:var(--cream) url('assets/floral.png') repeat;background-size:355px}.hero-panel{max-width:1050px;margin:auto;background:var(--cream);text-align:center;padding:35px 60px 28px;border:1px solid var(--blue);outline:7px solid var(--cream);border-radius:105px 105px 55px 55px;box-shadow:0 5px 25px #223e4a20}.eyebrow{font:12px/1.6 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.hero-logo{width:min(600px,90%);display:block;margin:22px auto 0}.hero h1{font:clamp(24px,4vw,44px)/1.2 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin:8px 0 20px;font-weight:300}.tagline{font-size:clamp(23px,3vw,34px);font-style:italic;margin:0 0 16px}.intro{max-width:630px;margin:0 auto 25px;font-size:18px}.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.button{display:inline-block;border:1px solid var(--blue);background:var(--blue);color:#fffdf7;padding:13px 24px;font:15px/1.4 Arial,sans-serif;text-decoration:none;border-radius:3px;cursor:pointer}.button:hover{background:#233f53}.outline{background:transparent;color:var(--blue)}.outline:hover{color:white}.signature{font-size:14px;font-style:italic;margin:20px 0 0}.home-bottom{max-width:1200px;margin:auto;padding:42px 6%;display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}h2{font-weight:400;font-size:clamp(27px,3vw,38px);line-height:1.2;margin:12px 0 20px}p{margin-top:0}.page-banner{padding:55px 8%;background:linear-gradient(90deg,var(--cream) 55%,transparent),url('assets/floral.png') right center/355px;border-bottom:1px solid var(--line)}.page-banner h1{font-size:clamp(42px,6vw,70px);font-weight:400;line-height:1.12;margin:16px 0 20px}.page-banner p:last-child{max-width:520px;margin:0}.story,.people,.service-grid,.contact-layout{max-width:1200px;padding:55px 6%;margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:65px}.ornament{align-self:center;text-align:center;border:1px solid var(--line);padding:40px 15px;border-radius:50% 50% 5px 5px;background:#fffdf7}.ornament img{width:100%;max-width:360px}.ornament p{margin:24px 0 0;font-style:italic}blockquote{margin:30px 0 0;padding-left:25px;border-left:2px solid var(--blue);font-size:26px;font-style:italic}.people{grid-template-columns:1fr 1fr;padding-top:15px}.people article{border-top:1px solid var(--line);padding-top:25px}.service-grid{grid-template-columns:1fr 1fr}.number{font-size:18px;border:1px solid var(--line);padding:10px 16px;border-radius:50%}.process{background:#edf0ef;padding:45px 8%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;max-width:1100px}h3{font-size:24px;font-weight:400}.quote-box{padding:45px 8%;display:flex;gap:60px;align-items:center}.quote-box div{max-width:780px}.quote-box .button{flex-shrink:0}.contact-layout{grid-template-columns:1fr 1.1fr}.contact-link{display:block;font-size:27px;margin:15px 0;overflow-wrap:anywhere}.email{font-size:21px}.note{font-size:14px;line-height:1.6;margin:22px 0 0;font-family:Arial,sans-serif}form{background:#fffdf7;border:1px solid var(--line);padding:30px}label{display:block;font:14px/1.5 Arial,sans-serif;margin:17px 0}input,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #98a6b0;background:var(--cream);color:var(--ink);font:16px/1.5 Arial,sans-serif}footer{border-top:1px solid var(--line);padding:30px 6%;display:flex;gap:30px;justify-content:space-between;align-items:center;font-size:14px}footer div{display:flex;flex-direction:column}footer p{margin:0}footer span{font-style:italic}.skip{position:absolute;left:10px;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #b67b2d;outline-offset:4px}@media(max-width:700px){header{flex-direction:column;padding:12px 20px;gap:12px}.brand{width:180px}nav{gap:22px;font-size:14px}.hero{padding:28px 22px;background-size:260px}.hero-panel{padding:30px 22px;border-radius:65px 65px 30px 30px}.hero-logo{width:100%;margin-top:25px}.eyebrow{font-size:12px;letter-spacing:.1em}.hero h1{letter-spacing:.16em}.intro{font-size:16px}.actions{flex-direction:column}.home-bottom,.story,.people,.service-grid,.contact-layout{grid-template-columns:1fr;gap:30px;padding:35px 7%}.page-banner{padding:35px 7%;background:linear-gradient(90deg,var(--cream) 78%,#faf7ed88),url('assets/floral.png') right/300px}.steps{grid-template-columns:1fr;gap:5px}.quote-box{flex-direction:column;gap:10px;align-items:flex-start;padding:35px 7%}footer{flex-direction:column;align-items:flex-start;gap:16px}.ornament{max-width:400px;width:100%;justify-self:center}body{font-size:17px}form{padding:22px}.contact-link{font-size:23px}.email{font-size:19px}}
.logo-lockup{position:relative;display:block}.hero-lockup{width:min(600px,90%);margin:22px auto 0}.hero-lockup .hero-logo{width:100%;margin:0}.logo-hat{position:absolute!important;width:22%!important;left:73%;top:3%;transform:rotate(-22deg);pointer-events:none}.gallery{max-width:1300px;margin:auto;padding:45px 6%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.gallery-item{position:relative;display:block;border:1px solid var(--line);padding:8px;background:#fffdf7;text-decoration:none}.gallery-item img{display:block;width:100%;height:auto}.gallery-item span{display:block;text-align:center;font:14px/1.4 Arial,sans-serif;padding:12px}.gallery-item:hover{border-color:var(--blue)}#photo-view{max-width:95vw;max-height:95vh;border:1px solid var(--line);padding:16px;background:var(--cream);color:var(--ink)}#photo-view::backdrop{background:#142431dc}#photo-view img{display:block;max-width:85vw;max-height:75vh;object-fit:contain;margin:auto}.photo-close{display:block;margin:0 0 12px auto;padding:9px 18px;border:1px solid var(--blue);background:var(--blue);color:white;cursor:pointer}#photo-view p{margin:12px 0 0;text-align:center;font-size:16px}@media(max-width:700px){nav{flex-wrap:wrap;justify-content:center;gap:5px 19px}.hero-lockup{width:100%}.gallery{grid-template-columns:1fr 1fr;padding:25px 6%;gap:14px}}@media(max-width:420px){.gallery{grid-template-columns:1fr}}

.sale-arch{padding:0;overflow:hidden;border-radius:200px 200px 5px 5px}.sale-arch img{display:block;width:100%;max-width:none;aspect-ratio:4/5;object-fit:cover;object-position:center}.sale-arch p{margin:0;padding:22px 15px}

.sale-carousel{max-width:1050px;margin:auto;padding:35px 6% 45px}.sale-carousel .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;max-width:none;padding:0;gap:0;scrollbar-width:none}.sale-carousel .gallery::-webkit-scrollbar{display:none}.sale-carousel .gallery-item{flex:0 0 100%;width:100%;scroll-snap-align:center;padding:10px}.sale-carousel .gallery-item img{width:100%;height:min(58vh,580px);object-fit:contain;background:#edf0ef}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding-top:20px}#photo-count{font:15px Arial,sans-serif;min-width:45px;text-align:center}.carousel-controls button:disabled{opacity:.4;cursor:default}@media(prefers-reduced-motion:reduce){.sale-carousel .gallery{scroll-behavior:auto}}

.hero-teapot{display:block;width:100px;height:auto;margin:0 auto 16px}.hero h1{margin-bottom:12px}@media(max-width:700px){.hero-teapot{width:80px}}
.hero-teapot{width:360px;max-width:100%;height:auto}@media(max-width:700px){.hero-teapot{width:300px}}

.main-logo-row{display:flex;align-items:center;justify-content:center;gap:0;max-width:740px;margin:22px auto 0}.main-logo-row .hero-lockup{width:82%;margin:0;flex:0 1 600px}.teapot-side{width:18%;flex:0 0 18%;overflow:hidden}.teapot-side .hero-teapot{width:360%;max-width:none;position:relative;left:-118%;margin:0;display:block}@media(max-width:700px){.main-logo-row{margin-top:24px}.main-logo-row .hero-lockup{width:82%}.teapot-side .hero-teapot{width:360%;max-width:none}}
.teapot-side .hero-teapot{left:-100%}

.main-logo-row .hero-lockup{width:100%;flex:0 1 600px}.tagline-row{display:flex;justify-content:center;align-items:flex-end;gap:5px;margin:0 auto 18px}.tagline-row .tagline{margin:0;line-height:1.25}.tagline-row .teapot-side{width:85px;flex:0 0 85px}.tagline-row .hero-teapot{transform:scaleX(-1);left:-160%;width:360%;max-width:none}.tagline-row .teapot-side{margin-bottom:0}@media(max-width:700px){.tagline-row .tagline{font-size:20px}.tagline-row .teapot-side{width:60px;flex-basis:60px}.main-logo-row .hero-lockup{width:100%}.tagline-row{gap:0}}

.person-heading{display:flex;align-items:center;gap:20px;margin:16px 0 20px}.person-heading h2{margin:0}.portrait-frame{width:88px;height:88px;flex:0 0 88px;border-radius:50%;border:1px solid var(--blue);padding:5px;outline:1px solid var(--line);outline-offset:4px;display:grid;place-items:center;background:#edf0ef;overflow:hidden}.portrait-frame span{font:italic 27px Georgia,serif;color:var(--blue)}.portrait-frame{position:relative}.portrait-frame img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:cover;object-position:50% 45%;border-radius:50%;display:block}.portrait-frame img[src$="stefanie.jpg"]{object-position:50% 35%}@media(max-width:700px){.portrait-frame{width:76px;height:76px;flex-basis:76px}.person-heading{gap:18px}}

.hero .card-logo-heading{margin:20px auto 24px;max-width:700px;line-height:0;letter-spacing:0}.card-logo-heading img{width:100%;height:auto;display:block}.hero-panel{padding-left:35px;padding-right:35px}@media(max-width:700px){.hero-panel{padding-left:15px;padding-right:15px}}

.service-details{max-width:1200px;margin:auto;padding:0 6% 55px}.service-details>h2{max-width:760px}.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 35px;margin-top:32px}.service-detail-grid article{border-top:1px solid var(--line);padding-top:8px}.service-detail-grid h3{margin:16px 0 14px}.service-detail-grid p{margin-bottom:0}@media(max-width:900px){.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.service-details{padding:0 7% 35px}.service-detail-grid{grid-template-columns:1fr;gap:24px;margin-top:25px}}

.why-proper-tea{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;padding:42px 6%;max-width:1200px;margin:auto;border-top:1px solid var(--line)}.why-proper-tea .eyebrow{font-size:14px}.why-copy p:last-child{margin-bottom:0}@media(max-width:700px){.why-proper-tea{grid-template-columns:1fr;gap:10px;padding:35px 7%}}

.client-reviews{padding:48px 6%;background:#edf0ef;border-top:1px solid var(--line)}.reviews-heading,.review-grid,.more-reviews,.reviews-link{max-width:1100px;margin:0 auto}.reviews-heading{text-align:center;margin-bottom:28px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.review-card{margin:0;background:#fffdf7;border:1px solid var(--line);border-radius:24px 24px 4px 4px;padding:25px}.review-stars{color:#806018;font-size:23px;letter-spacing:.08em}.review-card blockquote{font-size:17px;line-height:1.7;font-style:normal;border:0;padding:0;margin:14px 0 22px}.review-card figcaption{font:600 15px/1.6 Arial,sans-serif}.review-card figcaption span{display:block;font-weight:400;font-size:12px;letter-spacing:.05em}.more-reviews{margin-top:24px}.more-reviews summary{cursor:pointer;width:fit-content;margin:0 auto;padding:10px;text-decoration:underline;text-underline-offset:4px}.more-reviews[open] summary{margin-bottom:18px}.reviews-link{text-align:center;margin-top:28px}@media(max-width:800px){.review-grid{grid-template-columns:1fr}.client-reviews{padding:35px 7%}}
