:root{--milk:#faf9f5;--cream:#eee9dc;--green:#f0f4ea;--olive:#596d46;--berry:#824954;--ink:#2d2b29;--line:#d8d6ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--milk);color:var(--ink);font:17px/1.55 system-ui,sans-serif}h1,h2,h3,.brand,.price{font-family:Georgia,serif;font-weight:500;line-height:1.13}h1{font-size:clamp(2.65rem,6vw,5.1rem);margin:.2em 0 .32em;letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.45rem);text-align:center;margin:0 0 .65em;letter-spacing:-.025em}h3{font-size:clamp(1.28rem,2.4vw,1.8rem);margin:0 0 .5em}p{margin:.65em 0 1em}em{color:var(--berry);font-style:normal}a{color:inherit}img{display:block;width:100%;height:auto;border-radius:16px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,.track:focus-visible{outline:3px solid var(--olive);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.mast,footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.brand{font-size:2rem;text-decoration:none;color:var(--berry)}nav,.actions,.quick,.facts{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}.plain{color:var(--berry);text-underline-offset:.2em}.hero{padding:clamp(30px,7vw,72px) clamp(20px,5vw,52px);margin:28px 0 0;background:var(--cream);border-radius:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,5vw,60px);align-items:center}.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:34rem}.eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--olive)}.hero-photo{aspect-ratio:1.12;object-fit:cover;object-position:center 70%}.inner .hero-photo{aspect-ratio:1.2}.quick,.facts{justify-content:center;background:var(--green);border-radius:15px;padding:18px 22px;margin:20px 0;list-style:none}.facts li::before{content:"• ";color:var(--olive)}.section{padding:clamp(38px,7vw,84px) 0;border-bottom:1px solid var(--line);scroll-margin:20px}.about img{max-height:440px;width:auto;max-width:100%;margin-bottom:16px}.feature{aspect-ratio:1.15;object-fit:cover;object-position:center 74%}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.note{background:var(--cream);border-radius:16px;padding:clamp(16px,2.5vw,28px)}.panel:nth-child(even),.note{background:var(--green)}.panel p:last-child{margin-bottom:0}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--berry);border-radius:9px;background:var(--berry);color:white;text-decoration:none;font-weight:650;text-align:center;line-height:1.25}.btn:hover{background:#693641;color:white}.outline{background:transparent;color:var(--berry)}.products{grid-template-columns:repeat(6,minmax(0,1fr))}.product{grid-column:span 2;display:flex;flex-direction:column;background:var(--cream);border-radius:16px;overflow:hidden}.product:nth-child(even){background:var(--green)}.product:nth-child(4){grid-column:2/span 2}.product img{border-radius:0;aspect-ratio:1.25;object-fit:cover;object-position:center 68%}.product>div{padding:20px;display:flex;flex:1;flex-direction:column}.product .btn{margin-top:auto}.price{color:var(--berry);font-size:clamp(1.8rem,4vw,3rem);margin:0 0 .45em}.accordion{max-width:830px;margin:auto}details{border:1px solid var(--line);border-radius:12px;background:var(--cream);margin:9px 0}details:nth-child(even){background:var(--green)}summary{cursor:pointer;list-style:none;display:flex;gap:12px;justify-content:space-between;padding:16px 19px;font-weight:700}summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--berry);font-size:1.2rem}details[open] summary::after{content:"−"}details>div{padding:0 19px 16px}details ul,.tariff ul{padding-left:1.25em}.tariff{display:flex;flex-direction:column;align-items:flex-start}.tariff .btn{margin-top:auto}.gallery-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:10px}.gallery-controls button{cursor:pointer;background:var(--milk);color:var(--berry);border:1px solid var(--berry);border-radius:50%;width:44px;height:44px;font-size:1.25rem}.track{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px}.track figure{flex:0 0 31%;margin:0;scroll-snap-align:start}.track img{aspect-ratio:1.12;object-fit:cover;object-position:center 66%}.track figcaption{text-align:center;padding:10px}.reviews .track img{aspect-ratio:3/4;object-fit:contain;background:var(--green);object-position:center}.case{max-height:500px;object-fit:contain;background:var(--green)}.contact,.purchase{margin:36px auto;text-align:center;padding:36px 20px;background:var(--green);border-radius:18px}.contact .actions{justify-content:center}.home .contact{background:var(--cream)}.back{margin-top:22px}.design-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px auto;max-width:920px}.design-pair img{max-height:580px;object-fit:contain;background:var(--cream)}footer{border-bottom:0;border-top:1px solid var(--line);font-size:.9rem;margin-top:30px}.skip{position:absolute;left:12px;top:-100px;background:white;z-index:2;padding:12px}.skip:focus{top:12px}
@media(max-width:740px){.wrap{width:calc(100% - 32px)}.mast{align-items:flex-start;flex-direction:column;padding:14px 0;gap:8px}nav{gap:6px 15px;font-size:.9rem}.hero{margin-top:16px}.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products .product{grid-column:auto}.track figure{flex-basis:75%}.about img{max-height:360px}.hero-photo{aspect-ratio:1.35}.section{padding:40px 0}.contact,.purchase{padding:25px 15px}}
@media(max-width:480px){.grid:not(.products){grid-template-columns:1fr}.products{grid-template-columns:1fr}.product img{aspect-ratio:1.5}.hero .actions .btn{width:100%}.design-pair{gap:6px}.quick{gap:9px 14px;font-size:.9rem}footer{flex-wrap:wrap}.track figure{flex-basis:83%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Editorial accents for the home page. */
.home .section h2{margin-bottom:24px}
.home .section-intro{max-width:42rem;margin:-10px auto 24px;text-align:center;color:#514d47}
.home .about{align-items:center;grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr)}
.home .about>div:first-child{width:min(100%,390px);justify-self:center}
.home .about img{width:100%;max-height:none;height:auto;margin:0}
.about-caption{border-bottom:1px solid var(--line);padding:15px 0 12px}
.about-caption h3{color:var(--berry);font-size:clamp(1.65rem,4vw,2.35rem);margin:0 0 5px}
.about-caption p{font-size:.94rem;margin:0}
.home .about>div:last-child h3{font-size:clamp(1.45rem,3vw,2.3rem)}
.panel-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid #b4bea5;background:#f4f5eb;color:var(--olive);border-radius:50%;margin-bottom:16px;flex:none}
.panel-mark svg{width:25px;height:25px}
#experience .panel{border-top:2px solid #a1ad8e}
#experience .experience-note{margin-top:18px;text-align:center}
.experience-note p{margin:0 0 6px}
#why .grid{counter-reset:why}
#why .panel{border-radius:0;border-top:1px solid #adb99c;background:transparent;padding:14px 0}
#why .panel::before{counter-increment:why;content:"0" counter(why);display:block;color:var(--olive);font:italic 1.65rem Georgia,serif;margin-bottom:6px}
#why .panel h3{font-size:clamp(1.12rem,2.2vw,1.6rem)}
#audience .panel{background:transparent;border:1px solid var(--line);text-align:center}
#audience .panel-mark{margin-inline:auto}
.product-dolls img{object-fit:contain;object-position:center;background:#ede8de;padding:6px}
#free .panel{border:1px solid var(--line);padding:16px 18px}
#free .panel h3{font-size:clamp(1.12rem,2.1vw,1.52rem);color:var(--berry)}
#free .panel p{font-size:.92rem;line-height:1.4}
#free .panel-mark{height:38px;width:38px;margin-bottom:10px}
#free .panel-mark svg{width:21px;height:21px}
#services .panel{background:transparent;border-top:1px solid #adb99c;border-radius:0;padding-inline:0}
#services .note{margin-top:18px;background:var(--cream)}
#services .note p{margin-top:0}
.home .faq-extra{margin:20px auto 0}
.home #faq details{border-color:transparent}
.home #faq details[open]{border-color:#bbc6ae;background:var(--green)}
.home .contact{position:relative;isolation:isolate;overflow:hidden;padding:54px 26px;border:1px solid var(--line)}
.home .contact::before,.home .contact::after{content:"";position:absolute;width:clamp(70px,12vw,130px);aspect-ratio:1.4;background:center/contain no-repeat;z-index:-1;pointer-events:none}
.home .contact::before{right:9px;top:8px;transform:rotate(180deg)}
.home .contact::after{left:9px;bottom:8px}
.home .contact p{max-width:32rem;margin-inline:auto}
@media(max-width:740px){
 .home .section{padding-block:38px}
 .home .section h2{margin-bottom:19px}
 .home .about{grid-template-columns:minmax(0,1fr);gap:20px}
 .home .about>div:first-child{width:100%}
 #experience>.grid,#audience>.grid,#services>.grid{grid-template-columns:minmax(0,1fr);gap:0}
 #experience .panel,#audience .panel,#services .panel{display:flex;gap:13px;align-items:flex-start;text-align:left;min-width:0}
 #experience .panel-mark,#audience .panel-mark,#services .panel-mark{margin:0;width:41px;height:41px}
 #experience .panel-mark svg,#audience .panel-mark svg,#services .panel-mark svg{width:23px;height:23px}
 #experience>.grid{padding-left:14px;border-left:1px solid #adb99c;gap:10px}
 #experience .panel{border-top:0;padding:14px 12px;border-radius:12px;position:relative}
 #experience .panel::before{content:"";position:absolute;left:-19px;top:25px;width:9px;height:9px;border-radius:50%;background:var(--olive)}
 #audience .panel{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:13px 0}
 #audience .panel:nth-child(even){background:transparent}
 #why .split{gap:15px}
 #why .feature{aspect-ratio:1.65;object-position:center 86%}
 #why .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
 #why .panel p{font-size:.91rem;line-height:1.4}
 #free>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #free .panel{padding:11px 10px}
 #free .panel h3{font-size:1.05rem}
 #free .panel p{font-size:.83rem}
 #services .panel{padding-block:15px}
 #services .panel h3,#audience .panel h3,#experience .panel h3{margin-bottom:5px}
 #services .panel p,#audience .panel p,#experience .panel p{margin-top:0;font-size:.94rem}
 .home .contact{padding:48px 16px}
}
@media(max-width:360px){#free>.grid{grid-template-columns:1fr}#free .panel{display:flex;gap:10px}#free .panel-mark{margin-bottom:0}}

/* Corner motifs taken from the approved hero and contact artwork. */
.home .contact::before,.home .contact::after{width:clamp(76px,15vw,170px);aspect-ratio:1.33}
.home .contact::before{background-image:url(img/sprig-contact-top.png);transform:none;right:12px;top:10px}
.home .contact::after{background-image:url(img/sprig-contact-bottom.png);left:12px;bottom:10px}
.home .contact{padding-bottom:69px}
.contact .contact-invitation{margin-bottom:16px}
.contact .contact-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:690px;margin-inline:auto;gap:10px}
.contact-pending,.contact-pending:hover{background:transparent;color:#6f625f;border-color:#a28e90;cursor:default}
@media(max-width:740px){
 .contact .contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:400px}
 .home .contact{padding-top:62px;padding-bottom:61px}
}
.contact-actions .btn{font-family:inherit;font-size:1rem}
.contact-actions a::after{content:"";width:11px;height:11px;flex:none;margin-left:7px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 2h7v7M10 2l-8 8' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.tariff .tariff-installments{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:var(--green);font-size:.94rem;line-height:1.4}
.tariff-installments strong{color:var(--berry);white-space:nowrap}

.purchase .tariff-installments{display:inline-block;margin:0 0 14px;padding:8px 12px;border-radius:8px;background:var(--milk);font-size:.94rem;line-height:1.4}
.purchase .tariff-installments+.btn{display:table;margin-inline:auto}
.tariff:nth-child(even) .tariff-installments{background:#f4eaec}
.tariff-gifts{width:100%;margin:0 0 16px;padding:11px 14px;border:1px solid #c2cbb7;border-radius:9px;background:var(--milk);font-size:.95rem}
.tariff-gifts strong{color:var(--berry)}
.tariff .tariff-gifts ul{margin:4px 0 0}

/* Product photos stay whole even when the source is portrait or landscape. */
.product-photos .track img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center;background:var(--cream)}
.product-photos .track figure{min-width:0}
.product-photos .track figcaption{font-size:.96rem}
.review-grid{max-width:930px;margin:0 auto}
.review-card{display:flex;flex-direction:column;gap:8px}
.review-card h3{font-size:1.04rem;margin:0;color:var(--berry)}
.review-card blockquote,.story-proof blockquote{margin:0;line-height:1.55}
.review-more{margin:24px 0 0}
.story-split{align-items:stretch}
.story-proof{display:grid;justify-items:start;align-content:center;gap:6px;padding:clamp(18px,4vw,35px);border-radius:16px;background:var(--cream)}
.story-number{font-family:Georgia,serif;font-size:clamp(3.3rem,9vw,6.8rem);line-height:.9;color:var(--berry)}
.story-attribution{color:var(--olive);font-size:.88rem}
.story-takeaway{margin-top:20px}
.story-takeaway strong{color:var(--berry)}
.story-takeaway p{margin:.35rem 0 0}
.story-action{margin-bottom:0}

#works .product-photos .track .photo-trays{object-fit:cover;object-position:52% 50%}
.review-grid{align-items:start}
.review-image{display:block;border-radius:10px;overflow:hidden;background:var(--milk)}
.review-image img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center top}
.review-enlarge{align-self:flex-start;font-size:.9rem}
.story-proof{margin:0;justify-items:stretch}
.story-shot{position:relative;aspect-ratio:873/704;overflow:hidden;border-radius:10px;background:var(--green)}
.story-shot img{position:absolute;top:-44%;left:0;width:100%;height:auto;border-radius:0}
.story-attribution{margin-top:4px}

#student-works .product-photos .track .photo-owl{object-fit:cover;object-position:50% 25%}
