:root{--green:#7a8a5a;--green-600:#6f7f4d;--green-700:#5c6b3f;--green-800:#4a5732;--green-deep:#3f4a2c;--cream:#f4f1ea;--cream-soft:#faf8f3;--cream-200:#efeae0;--beige:#e8e3d6;--beige-dark:#ddd6c5;--ink:#3f4632;--text:#5f6452;--muted:#8a8d7c;--white:#fff;--line:#e6e1d4;--shadow-sm:0 2px 8px #3f4a2c0f;--shadow-md:0 10px 30px #3f4a2c14;--shadow-lg:0 24px 60px #3f4a2c1f;--radius:14px;--radius-lg:22px;--radius-xl:32px;--serif:"Fraunces", "Georgia", serif;--sans:"Nunito Sans", system-ui, -apple-system, sans-serif;--maxw:1180px;font-family:var(--sans);color:var(--text);background:var(--cream-soft);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--serif);color:var(--green-deep);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.12}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}ul{margin:0;padding:0;list-style:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:84px 0}.section-sm{padding:56px 0}.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--green-600);font-size:.72rem;font-weight:700}.section-head{text-align:center;max-width:620px;margin:0 auto 48px}.section-head h2{font-size:clamp(1.9rem,4vw,2.7rem)}.section-head p{color:var(--muted);margin:10px 0 0;font-size:1.05rem}.btn{font-family:var(--sans);white-space:nowrap;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:.95rem;font-weight:700;transition:transform .15s,background .2s,box-shadow .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--green-600);color:var(--white);box-shadow:0 8px 20px #6f7f4d47}.btn-primary:hover{background:var(--green-700)}.btn-outline{color:var(--green-700);border-color:var(--beige-dark);background:0 0}.btn-outline:hover{border-color:var(--green-600);background:#7a8a5a0f}.btn-ghost{background:var(--white);color:var(--green-700);border-color:var(--line)}.btn-ghost:hover{background:var(--cream)}.btn-lg{padding:16px 30px;font-size:1rem}.btn-sm{padding:9px 18px;font-size:.85rem}.btn-block{width:100%}.icon{width:18px;height:18px}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#faf8f3d9;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:76px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{place-items:center;width:42px;height:42px;display:grid}.brand-mark svg{width:38px;height:38px}.brand-name{font-family:var(--serif);color:var(--green-deep);font-size:1.4rem;font-weight:600;line-height:1}.brand-tag{color:var(--muted);margin-top:3px;font-size:.7rem}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--text);padding:6px 0;font-size:.95rem;font-weight:600;transition:color .18s;position:relative}.nav-links a:hover{color:var(--green-700)}.nav-links a.active{color:var(--green-deep)}.nav-links a.active:after{content:"";background:var(--green-600);border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.nav-actions{align-items:center;gap:14px;display:flex}.nav-toggle{color:var(--green-deep);background:0 0;border:none;padding:6px;display:none}.mobile-menu{border-bottom:1px solid var(--line);background:var(--cream-soft);flex-direction:column;gap:4px;padding:12px 24px 22px;display:none}.mobile-menu a{border-radius:10px;padding:12px 8px;font-weight:600}.mobile-menu a:hover{background:var(--cream)}.hero{background:var(--cream);position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:50px;padding:70px 0 120px;display:grid}.hero-heart{width:44px;height:44px;color:var(--green-600);margin-bottom:22px}.hero h1{font-size:clamp(2.5rem,5.4vw,4rem);line-height:1.05}.hero-sub{color:var(--text);max-width:440px;margin:26px 0 34px;font-size:1.15rem}.hero-cta{flex-wrap:wrap;gap:14px;display:flex}.hero-photo{box-shadow:var(--shadow-lg);aspect-ratio:4/3.4;border-radius:28px;position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%}.hero-wave{height:90px;position:absolute;bottom:-1px;left:0;right:0}.hero-paw{background:var(--white);width:58px;height:58px;box-shadow:var(--shadow-sm);z-index:3;color:var(--green);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.hero-paw svg{width:30px;height:30px}.stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stat-num{font-family:var(--serif);color:var(--green-700);font-size:2.4rem;font-weight:600}.stat-label{color:var(--muted);margin-top:2px;font-size:.95rem}.dogs-section{background:var(--cream-soft)}.carousel{position:relative}.dog-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.dog-grid.four{grid-template-columns:repeat(4,1fr)}.dog-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.dog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.dog-photo{aspect-ratio:1/.82;background:var(--beige);position:relative;overflow:hidden}.dog-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.dog-card:hover .dog-photo img{transform:scale(1.05)}.dog-fav{width:38px;height:38px;color:var(--green-700);background:#ffffffe6;border:none;border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid;position:absolute;top:12px;right:12px}.dog-fav:hover{background:var(--white)}.dog-fav.on{color:#c2543f}.dog-badge{color:var(--green-700);background:#ffffffeb;border-radius:20px;padding:5px 11px;font-size:.72rem;font-weight:700;position:absolute;top:12px;left:12px}.dog-body{flex-direction:column;flex:1;gap:8px;padding:20px 20px 22px;display:flex}.dog-name{font-family:var(--serif);color:var(--green-deep);font-size:1.4rem}.dog-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.92rem;display:flex}.dot{background:var(--beige-dark);border-radius:50%;width:4px;height:4px;display:inline-block}.dog-body .btn{align-self:flex-start;margin-top:8px}.carousel-btn{border:1px solid var(--line);background:var(--white);width:44px;height:44px;color:var(--green-700);box-shadow:var(--shadow-sm);z-index:5;border-radius:50%;place-items:center;display:grid;position:absolute;top:38%}.carousel-btn:hover{background:var(--cream)}.carousel-btn.prev{left:-22px}.carousel-btn.next{right:-22px}.carousel-btn:disabled{opacity:.4;cursor:not-allowed}.center-row{justify-content:center;margin-top:44px;display:flex}.features{background:var(--cream)}.feature-grid{grid-template-columns:repeat(3,1fr);display:grid}.feature{text-align:center;padding:14px 34px;position:relative}.feature+.feature:before{content:"";background:var(--beige-dark);width:1px;position:absolute;top:14px;bottom:14px;left:0}.feature-icon{width:54px;height:54px;color:var(--green-600);margin:0 auto 18px}.feature h3{margin-bottom:10px;font-size:1.4rem}.feature p{color:var(--muted);max-width:250px;margin:0 auto 20px;font-size:.96rem}.footer{background:var(--beige);border-top:1px solid var(--beige-dark);color:var(--text);padding:60px 0 0}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:36px;padding-bottom:48px;display:grid}.footer h4{font-family:var(--sans);color:var(--green-deep);margin-bottom:16px;font-size:.95rem;font-weight:700}.footer-col a{color:var(--text);padding:5px 0;font-size:.95rem;display:block}.footer-col a:hover{color:var(--green-700)}.footer-about p{color:var(--muted);max-width:240px;margin:12px 0 18px;font-size:.92rem}.socials{gap:12px;display:flex}.social-btn{border:1px solid var(--beige-dark);width:40px;height:40px;color:var(--green-700);background:#ffffff80;border-radius:50%;place-items:center;transition:background .2s,transform .15s;display:grid}.social-btn:hover{background:var(--white);transform:translateY(-2px)}.subscribe{gap:0;max-width:280px;margin-top:12px;display:flex}.subscribe input{border:1px solid var(--beige-dark);color:var(--ink);background:#fff9;border-right:none;border-radius:10px 0 0 10px;outline:none;flex:1;padding:11px 14px;font-family:inherit;font-size:.92rem}.subscribe input:focus{border-color:var(--green-600)}.subscribe button{background:var(--green-600);color:var(--white);border:none;border-radius:0 10px 10px 0;place-items:center;padding:0 16px;display:grid}.subscribe button:hover{background:var(--green-700)}.footer-bottom{border-top:1px solid var(--beige-dark);text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:22px 0;font-size:.85rem;display:flex}.footer-bottom svg{width:16px;height:16px;color:var(--green)}.page-head{background:var(--cream);text-align:center;padding:56px 0}.page-head h1{font-size:clamp(2rem,4.5vw,3rem)}.page-head p{color:var(--muted);max-width:560px;margin:12px auto 0;font-size:1.05rem}.breadcrumb{color:var(--muted);margin-bottom:14px;font-size:.85rem}.breadcrumb a:hover{color:var(--green-700)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:34px;display:flex}.filter-group{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1.5px solid var(--line);background:var(--white);color:var(--text);border-radius:20px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:all .18s}.chip:hover{border-color:var(--green-600)}.chip.active{background:var(--green-600);color:var(--white);border-color:var(--green-600)}.result-count{color:var(--muted);font-size:.92rem}.empty{text-align:center;color:var(--muted);padding:60px 0}.profile-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.profile-photo{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);aspect-ratio:1;background:var(--beige);overflow:hidden}.profile-photo img{object-fit:cover;width:100%;height:100%}.profile-info h1{font-size:clamp(2.2rem,4vw,3rem)}.profile-tags{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.tag{background:var(--cream);border:1px solid var(--line);color:var(--green-700);border-radius:20px;padding:7px 15px;font-size:.85rem;font-weight:600}.profile-spec{grid-template-columns:repeat(2,1fr);gap:16px;margin:26px 0;display:grid}.spec-item{background:var(--cream-soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.spec-item .label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.78rem;font-weight:700}.spec-item .value{color:var(--green-deep);margin-top:4px;font-size:1.1rem;font-weight:700}.profile-info p.bio{color:var(--text);margin:18px 0 26px}.profile-cta{flex-wrap:wrap;gap:14px;display:flex}.product-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.product-photo{aspect-ratio:1;background:var(--cream);position:relative;overflow:hidden}.product-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.product-card:hover .product-photo img{transform:scale(1.05)}.product-tag{background:var(--green-600);color:var(--white);border-radius:14px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.product-body{flex-direction:column;flex:1;gap:6px;padding:18px;display:flex}.product-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.product-name{font-family:var(--serif);color:var(--green-deep);font-size:1.2rem}.product-foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.price{color:var(--green-700);font-size:1.25rem;font-weight:700}.add-btn{background:var(--green-600);color:var(--white);border:none;border-radius:12px;place-items:center;width:40px;height:40px;transition:background .2s;display:grid}.add-btn:hover{background:var(--green-700)}.shop-banner{background:var(--green-600);color:var(--white);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;margin-bottom:50px;padding:40px 44px;display:flex}.shop-banner h2{color:var(--white);font-size:1.8rem}.shop-banner p{color:#ffffffd9;max-width:460px;margin:8px 0 0}.shop-banner .btn-ghost{background:var(--white);border-color:var(--white)}.donate-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:48px;display:grid}.donate-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:34px}.amount-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.amount-btn{border:1.5px solid var(--line);background:var(--cream-soft);color:var(--green-deep);font-size:1.25rem;font-weight:700;font-family:var(--serif);border-radius:14px;padding:18px 0;transition:all .18s}.amount-btn:hover{border-color:var(--green-600)}.amount-btn.active{background:var(--green-600);color:var(--white);border-color:var(--green-600)}.freq-toggle{background:var(--cream);border-radius:12px;gap:4px;margin-bottom:8px;padding:4px;display:inline-flex}.freq-toggle button{color:var(--text);background:0 0;border:none;border-radius:9px;padding:9px 22px;font-size:.9rem;font-weight:700;transition:all .18s}.freq-toggle button.active{background:var(--white);color:var(--green-deep);box-shadow:var(--shadow-sm)}.field{margin-bottom:16px}.field label{color:var(--green-deep);margin-bottom:6px;font-size:.88rem;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--line);width:100%;color:var(--ink);background:var(--cream-soft);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border .18s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-600);background:var(--white)}.field textarea{resize:vertical;min-height:120px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.impact-list{flex-direction:column;gap:18px;margin-top:22px;display:flex}.impact-item{align-items:flex-start;gap:16px;display:flex}.impact-item .ic{background:var(--cream);width:46px;height:46px;color:var(--green-600);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.impact-item h4{font-family:var(--sans);color:var(--green-deep);margin-bottom:2px;font-size:1rem}.impact-item p{color:var(--muted);margin:0;font-size:.9rem}.about-lead{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about-lead img{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);aspect-ratio:4/3;object-fit:cover;width:100%}.about-lead p{margin:16px 0 0}.values-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.value-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;padding:30px 26px}.value-card .ic{width:50px;height:50px;color:var(--green-600);margin:0 auto 16px}.value-card h3{margin-bottom:8px;font-size:1.25rem}.value-card p{color:var(--muted);font-size:.92rem}.team-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.team-card{text-align:center}.team-card img{border-radius:var(--radius-lg);aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:14px}.team-card h4{font-family:var(--serif);color:var(--green-deep);font-size:1.2rem}.team-card span{color:var(--muted);font-size:.9rem}.steps{counter-reset:step;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;position:relative}.step-num{background:var(--green-600);width:42px;height:42px;color:var(--white);font-family:var(--serif);border-radius:50%;place-items:center;margin-bottom:16px;font-size:1.2rem;font-weight:600;display:grid}.step h4{font-family:var(--serif);color:var(--green-deep);margin-bottom:8px;font-size:1.2rem}.step p{color:var(--muted);font-size:.92rem}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:48px;display:grid}.contact-info-card{background:var(--green-600);color:var(--white);border-radius:var(--radius-xl);padding:36px}.contact-info-card h3{color:var(--white);margin-bottom:8px;font-size:1.6rem}.contact-info-card>p{color:#ffffffd9;margin-bottom:28px}.contact-line{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.contact-line .ic{background:#ffffff26;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.contact-line .label{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.78rem;font-weight:700}.contact-line .value{font-weight:600}.contact-socials{gap:12px;margin-top:30px;display:flex}.contact-socials a{width:40px;height:40px;color:var(--white);background:#ffffff26;border-radius:50%;place-items:center;transition:background .2s;display:grid}.contact-socials a:hover{background:#ffffff4d}.notice{color:var(--green-700);background:#7a8a5a1f;border:1px solid #7a8a5a4d;border-radius:12px;margin-top:16px;padding:14px 18px;font-size:.9rem;font-weight:600}.cta-band{background:linear-gradient(135deg, var(--green-700), var(--green-600));border-radius:var(--radius-xl);text-align:center;color:var(--white);padding:56px;position:relative;overflow:hidden}.cta-band h2{color:var(--white);font-size:clamp(1.8rem,4vw,2.6rem)}.cta-band p{color:#ffffffe0;max-width:520px;margin:14px auto 28px}.cta-band .btn-ghost{background:var(--white);border-color:var(--white)}.cta-band .btn-outline{color:var(--white);border-color:#fff9}.cta-band .btn-outline:hover{background:#ffffff1f}.cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}@media (width<=980px){.hero-grid{grid-template-columns:1fr;gap:36px;padding-bottom:90px}.hero-photo{aspect-ratio:16/11}.dog-grid,.dog-grid.four{grid-template-columns:repeat(2,1fr)}.profile-grid,.donate-grid,.about-lead,.contact-grid{grid-template-columns:1fr;gap:32px}.team-grid,.steps{grid-template-columns:repeat(2,1fr)}.carousel-btn{display:none}}@media (width<=760px){.nav-links,.nav-actions .btn{display:none}.nav-toggle{display:block}.mobile-menu.open{display:flex}.feature-grid{grid-template-columns:1fr;gap:12px}.feature+.feature:before{display:none}.feature{border-top:1px solid var(--beige-dark);padding-top:30px}.feature:first-child{border-top:none}.stats{grid-template-columns:repeat(2,1fr);gap:30px 20px}.footer-grid{grid-template-columns:1fr 1fr}.values-grid,.field-row{grid-template-columns:1fr}.cta-band{padding:40px 26px}}@media (width<=480px){.dog-grid,.dog-grid.four,.team-grid,.steps{grid-template-columns:1fr}.amount-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr}.section{padding:56px 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.fade-in{animation:.5s both fadeUp}:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #7a8a5a73}.hero{background:radial-gradient(60% 70% at 85% 0%, #7a8a5a1f, transparent 70%), radial-gradient(50% 60% at 0% 100%, #7a8a5a1a, transparent 70%), var(--cream)}.hero h1{background:linear-gradient(180deg, var(--green-deep), var(--green-700));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-photo:after{content:"";pointer-events:none;border-radius:28px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff6}.page-head{background:radial-gradient(50% 80% at 50% -10%, #7a8a5a1a, transparent 70%), var(--cream)}.dog-card:hover{box-shadow:var(--shadow-lg)}.toast-stack{z-index:200;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--green-600);box-shadow:var(--shadow-md);color:var(--ink);pointer-events:auto;border-radius:12px;align-items:center;gap:10px;max-width:340px;padding:12px 14px;font-size:.9rem;font-weight:600;animation:.28s cubic-bezier(.2,.9,.3,1) both toastIn;display:flex}.toast-info{border-left-color:#c79a3f}.toast-ic{width:26px;height:26px;color:var(--green-700);background:#7a8a5a24;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.toast-info .toast-ic{color:#b07f24;background:#c79a3f29}.toast-x{color:var(--muted);background:0 0;border:none;place-items:center;margin-left:auto;padding:2px;display:grid}.toast-x:hover{color:var(--ink)}@keyframes toastIn{0%{opacity:0;transform:translate(24px)translateY(6px)}to{opacity:1;transform:none}}.notice-warn,.notice-error,.notice-success{border-radius:12px;align-items:flex-start;gap:10px;margin:16px 0;padding:13px 16px;font-size:.9rem;font-weight:600;line-height:1.45;display:flex}.notice-warn{color:#946716;background:#c79a3f1f;border:1px solid #c79a3f59}.notice-error{color:#b14a35;background:#c2543f1a;border:1px solid #c2543f4d}.notice-success{color:var(--green-700);background:#7a8a5a1f;border:1px solid #7a8a5a4d}.notice-warn svg,.notice-error svg,.notice-success svg{flex-shrink:0;margin-top:1px}.notice-warn a,.notice-success a{text-decoration:underline}.notice code{background:#0000000d;border-radius:5px;padding:1px 6px;font-size:.85em}.cart-link{width:42px;height:42px;color:var(--green-deep);border-radius:50%;place-items:center;transition:background .18s;display:grid;position:relative}.cart-link:hover{background:var(--cream)}.cart-badge{background:var(--green-600);color:var(--white);border:2px solid var(--cream-soft);border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.66rem;font-weight:800;display:grid;position:absolute;top:2px;right:0}.mini-badge{background:var(--green-700);color:var(--white);border-radius:10px;margin-left:2px;padding:1px 7px;font-size:.72rem;font-weight:800}.avatar{background:linear-gradient(135deg, var(--green-600), var(--green-800));width:42px;height:42px;color:var(--white);font-family:var(--serif);border:none;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:grid;box-shadow:0 4px 12px #6f7f4d4d}.avatar-lg{width:72px;height:72px;font-size:1.9rem}.user-menu{position:relative}.user-dropdown{background:var(--white);border:1px solid var(--line);width:220px;box-shadow:var(--shadow-lg);z-index:60;border-radius:16px;padding:8px;animation:.18s both fadeUp;position:absolute;top:calc(100% + 12px);right:0}.dropdown-head{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 12px 12px}.dropdown-head strong{color:var(--green-deep);font-size:.96rem;display:block}.dropdown-head span{color:var(--green-600);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.user-dropdown a,.user-dropdown button{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;font-weight:600;display:flex}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--cream);color:var(--green-700)}.auth-page{grid-template-columns:.85fr 1.15fr;min-height:calc(100vh - 76px);display:grid}.auth-aside{background:radial-gradient(70% 60% at 30% 20%, #ffffff29, transparent 70%), linear-gradient(150deg, var(--green-700), var(--green-deep));color:var(--white);align-items:center;padding:64px 56px;display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";background:#ffffff0f;border-radius:50%;width:380px;height:380px;position:absolute;bottom:-140px;right:-120px}.auth-aside-inner{max-width:380px;position:relative}.auth-mark{width:60px;height:60px;color:var(--white);background:#ffffff29;border-radius:18px;margin-bottom:26px}.auth-mark svg{width:34px;height:34px}.auth-aside h2{color:var(--white);margin-bottom:14px;font-size:2.2rem}.auth-aside p{color:#ffffffd9;font-size:1.05rem}.auth-aside-list{flex-direction:column;gap:14px;margin-top:28px;display:flex}.auth-aside-list li{color:#fffffff2;align-items:center;gap:10px;font-weight:600;display:flex}.auth-aside-list svg{flex-shrink:0}.auth-main{background:var(--cream-soft);justify-content:center;align-items:center;padding:56px 24px;display:flex}.auth-card{width:100%;max-width:460px}.auth-card h1{margin:6px 0 4px;font-size:2.2rem}.auth-lead{color:var(--muted);margin-bottom:24px}.auth-form{margin-top:8px}.auth-alt{text-align:center;color:var(--muted);margin-top:22px;font-size:.95rem}.auth-alt a{color:var(--green-700);font-weight:700}.auth-alt a:hover{text-decoration:underline}.role-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;display:grid}.role-card{text-align:left;background:var(--white);border:1.5px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:20px 18px;transition:border .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.role-card:hover{border-color:var(--green-600);box-shadow:var(--shadow-md);transform:translateY(-3px)}.role-card.active{border-color:var(--green-600);box-shadow:0 0 0 3px #7a8a5a2e}.role-ic{background:var(--cream);width:44px;height:44px;color:var(--green-600);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.role-card.active .role-ic{background:var(--green-600);color:var(--white)}.role-title{font-family:var(--serif);color:var(--green-deep);font-size:1.15rem;font-weight:600}.role-blurb{color:var(--muted);font-size:.85rem}.role-perks{flex-direction:column;gap:5px;margin-top:8px;display:flex}.role-perks li{color:var(--text);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.role-perks svg{color:var(--green-600);flex-shrink:0}.role-check{background:var(--green-600);width:22px;height:22px;color:var(--white);opacity:0;border-radius:50%;place-items:center;transition:all .18s;display:grid;position:absolute;top:14px;right:14px;transform:scale(.6)}.role-card.active .role-check{opacity:1;transform:scale(1)}.onboard{background:radial-gradient(60% 50% at 50% 0%, #7a8a5a1a, transparent 70%), var(--cream-soft);align-items:flex-start;min-height:calc(100vh - 76px);padding:48px 0 80px;display:flex}.onboard-inner{max-width:720px}.onboard-top{margin-bottom:26px}.progress-track{background:var(--beige);border-radius:8px;height:8px;margin-top:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--green-600), var(--green-700));border-radius:8px;height:100%;transition:width .4s cubic-bezier(.2,.9,.3,1)}.onboard-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:40px}.onboard-card h1{font-size:clamp(1.6rem,3.4vw,2.2rem)}.onboard-sub{color:var(--muted);margin:8px 0 26px}.option-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.option-card{text-align:left;background:var(--cream-soft);border:1.5px solid var(--line);color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:16px 18px;font-weight:600;transition:all .16s;display:flex;position:relative}.option-card:hover{border-color:var(--green-600);background:var(--white)}.option-card.active{border-color:var(--green-600);background:#7a8a5a14;box-shadow:0 0 0 3px #7a8a5a24}.option-ic{background:var(--white);width:40px;height:40px;color:var(--green-600);border:1px solid var(--line);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.option-card.active .option-ic{background:var(--green-600);color:var(--white);border-color:var(--green-600)}.option-label{flex:1}.option-check{border:1.5px solid var(--beige-dark);color:#0000;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;transition:all .16s;display:grid}.option-card.active .option-check{background:var(--green-600);border-color:var(--green-600);color:var(--white)}.onboard-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.account-head{background:radial-gradient(50% 90% at 80% 0%, #7a8a5a1f, transparent 70%), var(--cream);border-bottom:1px solid var(--line);padding:44px 0}.account-head-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.account-id{align-items:center;gap:20px;display:flex}.account-id h1{margin:4px 0 2px;font-size:2rem}.account-id p{color:var(--muted);margin:0;font-size:.95rem}.role-pill{background:var(--green-600);color:var(--white);text-transform:uppercase;letter-spacing:.06em;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:.74rem;font-weight:700;display:inline-flex}.account-stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:14px;display:grid}.account-tile{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;padding:22px;transition:transform .18s,box-shadow .18s}.account-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.tile-ic{width:26px;height:26px;color:var(--green-600);margin:0 auto 8px}.tile-num{font-family:var(--serif);color:var(--green-deep);font-size:1.7rem;font-weight:600;line-height:1.1}.tile-label{color:var(--muted);margin-top:4px;font-size:.85rem}.account-block{margin-top:40px}.account-block>h2{margin-bottom:16px;font-size:1.5rem}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.block-head h2{font-size:1.5rem}.pref-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.link-arrow{color:var(--green-700);align-items:center;gap:5px;font-size:.92rem;font-weight:700;display:inline-flex}.link-arrow:hover{text-decoration:underline}.muted-line{color:var(--muted)}.empty-card{text-align:center;background:var(--white);border:1px dashed var(--beige-dark);border-radius:var(--radius-lg);color:var(--muted);padding:44px 24px}.empty-card svg{color:var(--green-600);opacity:.6;margin-bottom:10px}.empty-card p{margin:8px 0 18px}.empty-card.big{padding:70px 24px}.empty-card.big h3{margin-bottom:8px;font-size:1.5rem}.history-list{flex-direction:column;gap:10px;display:flex}.history-row{background:var(--white);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.history-row strong{color:var(--green-deep)}.history-date{color:var(--muted);margin-left:12px;font-size:.85rem}.status-pill{color:var(--green-700);background:#7a8a5a1f;border-radius:20px;padding:5px 12px;font-size:.78rem;font-weight:700}.cart-layout{grid-template-columns:1.5fr .9fr;align-items:start;gap:36px;display:grid}.cart-items{flex-direction:column;gap:12px;display:flex}.cart-row{background:var(--white);border:1px solid var(--line);border-radius:16px;grid-template-columns:80px 1fr auto auto auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.cart-thumb{object-fit:cover;background:var(--cream);border-radius:12px;width:80px;height:80px}.cart-row-main h4{font-family:var(--serif);color:var(--green-deep);margin-bottom:4px;font-size:1.12rem}.price-sm{color:var(--muted);font-size:.9rem}.qty-stepper{background:var(--cream-soft);border:1px solid var(--line);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.qty-stepper button{background:var(--white);width:30px;height:30px;color:var(--green-700);box-shadow:var(--shadow-sm);border:none;border-radius:7px;place-items:center;display:grid}.qty-stepper button:hover{background:var(--green-600);color:var(--white)}.qty-stepper span{text-align:center;min-width:26px;color:var(--ink);font-weight:700}.cart-line-total{color:var(--green-deep);text-align:right;min-width:56px;font-size:1.05rem;font-weight:700}.cart-remove{color:var(--muted);background:0 0;border:none;border-radius:8px;place-items:center;padding:6px;display:grid}.cart-remove:hover{color:#c2543f;background:#c2543f14}.cart-summary{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:28px;position:sticky;top:96px}.cart-summary h3{margin-bottom:18px;font-size:1.3rem}.summary-line{color:var(--text);justify-content:space-between;padding:8px 0;font-size:.95rem;display:flex}.summary-hint{color:var(--green-600);margin:2px 0 6px;font-size:.82rem;font-weight:600}.summary-total{border-top:1px solid var(--line);font-family:var(--serif);color:var(--green-deep);justify-content:space-between;margin-top:8px;margin-bottom:18px;padding-top:16px;font-size:1.4rem;font-weight:600;display:flex}.checkout-forms{flex-direction:column;display:flex}.checkout-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:28px}.checkout-card h3{margin-bottom:18px;font-size:1.25rem}.pay-note{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:.82rem;display:flex}.checkout-items{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;margin-bottom:18px;padding-bottom:16px;display:flex}.checkout-item{align-items:center;gap:12px;display:flex}.checkout-item img{object-fit:cover;background:var(--cream);border-radius:10px;width:48px;height:48px}.checkout-item>div{flex-direction:column;flex:1;display:flex}.ci-name{color:var(--green-deep);font-size:.92rem;font-weight:600}.ci-qty{color:var(--muted);font-size:.82rem}.ci-price{color:var(--green-700);font-weight:700}.success-screen{text-align:center;max-width:520px;margin:30px auto;padding:40px 24px}.success-ic{color:var(--green-600);margin:0 auto 18px}.success-screen h1{margin-bottom:12px;font-size:2.2rem}.success-screen p{color:var(--muted);font-size:1.05rem}.success-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;display:flex}.add-btn.added{background:var(--green-800)}.dog-name-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dog-breed{color:var(--green-600);text-transform:uppercase;letter-spacing:.04em;text-align:right;font-size:.78rem;font-weight:700}.dog-loc{color:var(--muted);align-items:center;gap:5px;font-size:.86rem;display:flex}.dog-loc svg{color:var(--green-600)}.profile-photo{position:relative}.profile-fav{width:46px;height:46px;color:var(--green-700);box-shadow:var(--shadow-sm);background:#ffffffeb;border:none;border-radius:50%;place-items:center;transition:all .18s;display:grid;position:absolute;top:16px;right:16px}.profile-fav:hover{background:var(--white);transform:scale(1.06)}.profile-fav.on{color:#c2543f}.spec-item{align-items:center;gap:12px;display:flex}.spec-ic{background:var(--white);width:38px;height:38px;color:var(--green-600);border:1px solid var(--line);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;background:#3f4a2c73;place-items:center;padding:24px;animation:.2s both fadeUp;display:grid;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:var(--shadow-lg);max-height:90vh;padding:36px;position:relative;overflow-y:auto}.modal h2{margin:4px 0 6px;font-size:1.7rem}.modal-sub{color:var(--muted);margin-bottom:22px}.modal-close{background:var(--cream);width:36px;height:36px;color:var(--ink);border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--beige)}.stories-head{background:radial-gradient(50% 90% at 50% -10%, #7a8a5a24, transparent 70%), var(--cream)}.story-feature{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);grid-template-columns:1.1fr 1fr;margin-bottom:48px;transition:box-shadow .2s,transform .2s;display:grid;overflow:hidden}.story-feature:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.story-feature-photo{aspect-ratio:4/3.2;background:var(--beige);overflow:hidden}.story-feature-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.story-feature:hover .story-feature-photo img{transform:scale(1.04)}.story-feature-body{flex-direction:column;justify-content:center;padding:40px;display:flex}.story-feature-body h2{margin:8px 0 16px;font-size:clamp(1.5rem,3vw,2.1rem)}.story-quote{color:var(--text);margin-bottom:22px;padding-left:30px;font-size:1.08rem;font-style:italic;position:relative}.quote-ic{color:var(--green-600);opacity:.5;position:absolute;top:2px;left:0}.story-byline{align-items:center;gap:12px;margin-bottom:22px;display:flex}.story-byline img,.story-author img{object-fit:cover;background:var(--beige);border-radius:50%;width:48px;height:48px}.story-byline strong,.story-author strong{color:var(--green-deep);display:block}.story-byline span,.story-author span{color:var(--muted);font-size:.86rem}.story-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.story-grid.three{grid-template-columns:repeat(3,1fr)}.story-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.story-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.story-card-photo{aspect-ratio:1/.78;background:var(--beige);position:relative;overflow:hidden}.story-card-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.story-card:hover .story-card-photo img{transform:scale(1.05)}.story-tags{flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.story-tags span{color:var(--green-700);background:#ffffffeb;border-radius:14px;padding:4px 10px;font-size:.68rem;font-weight:700}.story-card-body{flex-direction:column;flex:1;gap:8px;padding:22px;display:flex}.story-meta{color:var(--green-600);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.story-card-body h3{font-size:1.25rem;line-height:1.2}.story-card-body p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.92rem;display:-webkit-box;overflow:hidden}.story-card-body .link-arrow{margin-top:4px}.share-band{background:linear-gradient(135deg, var(--cream), var(--beige));border:1px solid var(--beige-dark);border-radius:var(--radius-xl);grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin-top:56px;padding:44px;display:grid}:is(.share-band:has(.share-done),.share-band:not(:has(.share-form))){grid-template-columns:1fr}.share-band-text h2{margin:8px 0 12px;font-size:1.8rem}.share-band-text p{color:var(--text);margin-bottom:18px}.share-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px}.share-done{text-align:center;padding:20px}.share-done svg{color:var(--green-600);margin-bottom:12px}.share-done h2{margin-bottom:8px;font-size:1.7rem}.share-done p{color:var(--muted);max-width:480px;margin:0 auto}.story-hero{align-items:flex-end;height:60vh;min-height:420px;display:flex;position:relative;overflow:hidden}.story-hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.story-hero-overlay{background:linear-gradient(#3f4a2c1a 0%,#3f4a2cd9 100%);position:absolute;inset:0}.story-hero-content{color:var(--white);padding-bottom:44px;position:relative}.story-hero-content h1{color:var(--white);max-width:820px;font-size:clamp(1.9rem,4.5vw,3.2rem)}.story-back{color:#ffffffe6;align-items:center;gap:6px;margin-bottom:18px;font-weight:600;display:inline-flex}.story-back:hover{color:var(--white)}.story-hero-tags{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.story-hero-tags span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--white);background:#fff3;border-radius:16px;padding:5px 12px;font-size:.72rem;font-weight:700}.story-hero-meta{gap:20px;margin-top:16px;display:flex}.story-hero-meta span{color:#ffffffeb;align-items:center;gap:6px;font-size:.92rem;font-weight:600;display:flex}.story-body-wrap{max-width:720px}.story-pull{background:var(--cream);border-left:4px solid var(--green-600);border-radius:0 16px 16px 0;margin-bottom:32px;padding:24px 28px;position:relative}.story-pull .quote-ic{opacity:.6;margin-bottom:8px;position:static}.story-pull p{font-family:var(--serif);color:var(--green-deep);margin:0;font-size:1.4rem;font-style:italic;line-height:1.4}.story-prose p{color:var(--text);margin-bottom:22px;font-size:1.1rem;line-height:1.8}.story-author{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:14px;margin:32px 0;padding:22px 0;display:flex}.story-cta{text-align:center;margin-top:36px}.story-cta h3{margin-bottom:20px;font-size:1.6rem}.story-cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.route-loading{place-items:center;min-height:60vh;display:grid}.spinner{border:4px solid var(--beige);border-top-color:var(--green-600);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.story-feature{grid-template-columns:1fr}.story-grid,.story-grid.three{grid-template-columns:repeat(2,1fr)}.share-band{grid-template-columns:1fr}.account-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.nav-links{display:none}.nav-toggle{display:block}.nav-actions .btn{display:none}.mobile-menu.open{display:flex}.role-grid,.option-grid,.story-grid,.story-grid.three{grid-template-columns:1fr}.onboard-card{padding:26px}.auth-main{padding:36px 18px}.cart-row{grid-row-gap:10px;grid-template-columns:64px 1fr auto}.cart-thumb{width:64px;height:64px}.cart-line-total{text-align:left;grid-column:2}.cart-remove{grid-area:1/3}.account-id{gap:14px}.avatar-lg{width:56px;height:56px;font-size:1.5rem}.story-feature-body{padding:28px}}@media (width<=480px){.account-stats{grid-template-columns:1fr 1fr}.modal{padding:26px 22px}}.q-list{flex-direction:column;gap:26px;display:flex}.q-field{flex-direction:column;gap:10px;display:flex}.q-label{color:var(--green-deep);font-size:1rem;font-weight:700;line-height:1.4}.q-optional{color:var(--muted);font-size:.85rem;font-weight:600}.q-help{color:var(--muted);margin-top:3px;font-size:.85rem;font-weight:500;display:block}.q-pills{flex-wrap:wrap;gap:10px;display:flex}.q-pill{border:1.5px solid var(--line);background:var(--cream-soft);color:var(--text);border-radius:24px;align-items:center;gap:6px;padding:10px 18px;font-size:.92rem;font-weight:600;transition:all .16s;display:inline-flex}.q-pill:hover{border-color:var(--green-600);background:var(--white)}.q-pill.active{background:var(--green-600);border-color:var(--green-600);color:var(--white);box-shadow:0 4px 12px #6f7f4d3d}.q-pill svg{flex-shrink:0}.q-input,.q-detail{border:1.5px solid var(--line);width:100%;color:var(--ink);background:var(--cream-soft);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border .18s,background .18s}.q-input:focus,.q-detail:focus{border-color:var(--green-600);background:var(--white)}textarea.q-input{resize:vertical;min-height:110px;line-height:1.6}.q-detail{resize:vertical;min-height:84px;margin-top:4px;animation:.24s both fadeUp}.modal-lg{max-width:620px}.qa-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.qa-row{border-bottom:1px solid var(--line);padding:16px 22px}.qa-row:last-child{border-bottom:none}.qa-q{color:var(--muted);margin-bottom:4px;font-size:.82rem;font-weight:600}.qa-a{color:var(--green-deep);font-weight:600}.qa-detail{color:var(--text);font-style:italic;font-weight:500}@media (width<=480px){.q-pill{padding:9px 15px;font-size:.88rem}}
