@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600&display=swap");:root{--indigo-900:#1a2238;--indigo-700:#2d3561;--indigo-500:#3f4c8a;--coral-600:#ff6b58;--coral-500:#ff8573;--coral-300:#ffb3a7;--coral-100:#ffe8e5;--amber-600:#d4a574;--amber-400:#e8c9a0;--amber-100:#faf5ef;--gray-900:#2c2622;--gray-700:#4a433d;--gray-600:#5f554e;--gray-500:#857a71;--gray-300:#c8c1ba;--gray-200:#dbd7d1;--gray-100:#f0ebe6;--gray-50:#f9f7f4;--white:#fff;--success-600:#2d9596;--success-100:#d4f1f1;--warning-600:#e5a23d;--warning-100:#fef3e6;--error-600:#d84848;--error-100:#fce8e8;--info-600:#4a7c9e;--info-100:#e3f0f7;--font-headline:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-accent:"Crimson Pro",Georgia,serif;--font-size-display:56px;--font-size-h1:40px;--font-size-h2:28px;--font-size-h3:20px;--font-size-body-lg:18px;--font-size-body:16px;--font-size-body-sm:14px;--font-size-label:13px;--font-size-caption:12px;--line-height-display:1.1;--line-height-h1:1.2;--line-height-h2:1.3;--line-height-h3:1.4;--line-height-body:1.6;--line-height-label:1.4;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-section:var(--space-20);--space-component:var(--space-8);--space-element:var(--space-4);--container-max-width:1280px;--container-padding-x:120px;--container-padding-x-tablet:48px;--container-padding-x-mobile:24px;--content-narrow:680px;--content-medium:920px;--content-wide:1280px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(44,38,34,.05);--shadow-sm:0 2px 4px rgba(44,38,34,.06);--shadow-md:0 4px 12px rgba(44,38,34,.08);--shadow-lg:0 12px 24px rgba(44,38,34,.12);--shadow-xl:0 20px 40px rgba(44,38,34,.15);--shadow-coral:0 4px 16px rgba(255,107,88,.25);--shadow-indigo:0 4px 16px rgba(26,34,56,.2);--gradient-warm:linear-gradient(135deg,var(--amber-100) 0%,var(--gray-50) 100%);--gradient-coral:linear-gradient(135deg,var(--coral-600) 0%,var(--coral-500) 100%);--gradient-indigo:linear-gradient(135deg,var(--indigo-900) 0%,var(--indigo-700) 100%);--gradient-overlay-dark:linear-gradient(0deg,rgba(26,34,56,.9) 0%,transparent);--gradient-overlay-light:linear-gradient(0deg,hsla(0,0%,100%,.95) 0%,transparent);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--gray-50);color:var(--gray-700);font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body)}img{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}:focus-visible{border-radius:var(--radius-sm);outline:3px solid var(--coral-300);outline-offset:2px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.skip-to-main{background:var(--indigo-900);color:var(--white);font-weight:var(--font-weight-semibold);left:0;padding:12px 24px;position:absolute;text-decoration:none;top:-100px;transition:top .3s ease;z-index:1000}.skip-to-main:focus{top:0}h1,h2,h3,h4,h5,h6{color:var(--gray-900);font-family:var(--font-headline);line-height:1.2;margin-bottom:var(--space-4)}.display,h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold)}.display{font-size:var(--font-size-display);letter-spacing:-.02em;line-height:var(--line-height-display)}.h1,h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1)}.h2,h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2)}.h3,h3{font-family:var(--font-body);font-size:var(--font-size-h3);line-height:var(--line-height-h3)}.body-lg{font-size:var(--font-size-body-lg);line-height:var(--line-height-body)}.body-sm{font-size:var(--font-size-body-sm)}.body-sm,.label{line-height:var(--line-height-label)}.label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}.caption{color:var(--gray-500);font-size:var(--font-size-caption)}.text-accent{color:var(--coral-600)}.text-primary{color:var(--indigo-900)}.container{margin:0 auto;max-width:var(--container-max-width);padding:0 var(--container-padding-x)}.container--narrow{max-width:var(--content-narrow)}.container--medium{max-width:var(--content-medium)}.section{padding:var(--space-section) 0}.grid{display:grid;gap:var(--space-6)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--recipes{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid--masonry{display:grid;gap:var(--space-6);grid-auto-rows:240px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:15px;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;padding:14px 28px;text-decoration:none;transition:all .25s var(--ease-smooth)}.btn-primary{background:var(--gradient-coral);box-shadow:var(--shadow-coral);color:var(--white)}.btn-primary:hover{box-shadow:0 8px 24px rgba(255,107,88,.35);transform:translateY(-2px)}.btn-primary:active{box-shadow:var(--shadow-coral);transform:translateY(0)}.btn-secondary{background:transparent;border:2px solid var(--indigo-700);color:var(--indigo-700);padding:12px 26px}.btn-secondary:hover{background:var(--indigo-700);color:var(--white)}.btn-tertiary{background:none;border:none;color:var(--coral-600);font-weight:var(--font-weight-semibold);padding:8px 0;position:relative}.btn-tertiary:after{background:var(--coral-600);bottom:4px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.btn-tertiary:hover:after{transform:scaleX(1)}.btn-pill{background:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--radius-full);color:var(--gray-700);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);padding:8px 18px}.btn-pill.active,.btn-pill:hover{background:var(--coral-100);border-color:var(--coral-300);color:var(--coral-600)}.btn--full-width{width:100%}.header{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.98);border-bottom:1px solid var(--gray-100);padding:20px 0;position:sticky;top:0;transition:all .3s ease;z-index:100}.header--scrolled{box-shadow:var(--shadow-md);padding:12px 0}.header__container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--container-max-width);padding:0 var(--container-padding-x)}.header__logo{align-items:center;color:var(--indigo-900);display:flex;font-family:var(--font-headline);font-size:24px;font-weight:var(--font-weight-bold);gap:8px;text-decoration:none}.header__logo-icon{align-items:center;background:var(--gradient-coral);border-radius:var(--radius-md);display:flex;height:32px;justify-content:center;width:32px}.header__nav{align-items:center;display:flex;gap:40px}.nav-link{border-bottom:2px solid transparent;color:var(--gray-700);font-size:15px;font-weight:var(--font-weight-medium);padding-bottom:4px;transition:all .2s ease}.nav-link:hover{border-bottom-color:var(--coral-600);color:var(--coral-600)}.nav-link.active{border-bottom-color:var(--indigo-900);color:var(--indigo-900);font-weight:var(--font-weight-semibold)}.header__actions{align-items:center;display:flex;gap:16px}.header__avatar{border:2px solid var(--coral-300);border-radius:var(--radius-full);cursor:pointer;height:36px;object-fit:cover;transition:all .2s ease;width:36px}.header__avatar:hover{border-color:var(--coral-600);transform:scale(1.05)}.hero{align-items:center;background:var(--gradient-warm);display:flex;min-height:500px;overflow:hidden;padding:80px 0;position:relative}.hero:before{background-image:radial-gradient(circle at 20% 50%,rgba(255,107,88,.08) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(63,76,138,.06) 0,transparent 50%);content:"";inset:0;pointer-events:none;position:absolute}.hero__container{align-items:center;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--container-max-width);padding:0 var(--container-padding-x);position:relative;z-index:1}.hero__content{max-width:560px}.hero__label{background:var(--white);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:var(--coral-600);display:inline-block;font-size:var(--font-size-label);letter-spacing:.1em;padding:8px 16px;text-transform:uppercase}.hero__label,.hero__title{font-weight:var(--font-weight-semibold);margin-bottom:24px}.hero__title{color:var(--indigo-900);font-family:var(--font-headline);font-size:var(--font-size-display);letter-spacing:-.02em;line-height:var(--line-height-display)}.hero__title-accent{color:var(--coral-600);display:inline-block;position:relative}.hero__subtitle{color:var(--gray-700);font-size:var(--font-size-body-lg);line-height:var(--line-height-body);margin-bottom:32px;max-width:480px}.hero__actions{align-items:center;display:flex;gap:16px}.hero__image{border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.hero__image img{display:block;height:auto;width:100%}.section-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:40px}.section-header__content{max-width:640px}.section-header__label{color:var(--coral-600);display:block;font-size:var(--font-size-label);letter-spacing:.1em;text-transform:uppercase}.section-header__label,.section-header__title{font-weight:var(--font-weight-semibold);margin-bottom:12px}.section-header__title{color:var(--indigo-900);font-family:var(--font-headline);font-size:36px;line-height:1.2}.section-header__subtitle{color:var(--gray-600);font-size:var(--font-size-body);line-height:var(--line-height-body)}.section-header__action{align-items:center;color:var(--coral-600);display:flex;font-size:15px;font-weight:var(--font-weight-semibold);gap:8px;text-decoration:none;transition:all .2s ease}.section-header__action:hover{color:var(--coral-500);gap:12px}.recipe-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;overflow:hidden;position:relative;transition:all .3s var(--ease-smooth)}.recipe-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.recipe-card__image-wrapper{aspect-ratio:4/3;background:var(--gray-100);overflow:hidden;position:relative}.recipe-card__image{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.recipe-card:hover .recipe-card__image{transform:scale(1.05)}.recipe-card__badge{background:var(--amber-600);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--white);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.05em;padding:6px 12px;position:absolute;right:12px;text-transform:uppercase;top:12px}.recipe-card__content{padding:20px}.recipe-card__category{color:var(--coral-600);display:block;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.recipe-card__title{color:var(--gray-900);display:-webkit-box;font-family:var(--font-headline);font-size:18px;font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;line-height:1.3;margin-bottom:12px;-webkit-box-orient:vertical;overflow:hidden}.recipe-card__meta{align-items:center;color:var(--gray-500);display:flex;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);gap:16px}.recipe-card__meta-item{align-items:center;display:flex;gap:4px}.recipe-card__meta-icon{height:16px;opacity:.7;width:16px}.recipe-card--featured{grid-column:span 2;grid-row:span 2;min-height:400px}.recipe-card--featured .recipe-card__image-wrapper{aspect-ratio:16/10}.recipe-card--featured .recipe-card__content{background:var(--gradient-overlay-dark);bottom:0;left:0;padding:32px;position:absolute;right:0}.recipe-card--featured .recipe-card__title{color:var(--white);font-size:28px;margin-bottom:16px}.recipe-card--featured .recipe-card__category{color:var(--coral-300)}.recipe-card--featured .recipe-card__meta{color:hsla(0,0%,100%,.8)}.category-card{align-items:center;background:var(--white);border:2px solid var(--gray-100);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:20px;padding:24px;transition:all .25s ease}.category-card:hover{background:var(--coral-100);border-color:var(--coral-300);transform:translateX(4px)}.category-card__icon{align-items:center;background:var(--amber-100);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:64px;justify-content:center;transition:all .25s ease;width:64px}.category-card:hover .category-card__icon{background:var(--coral-300);transform:rotate(5deg)}.category-card__icon img{height:36px;object-fit:contain;width:36px}.category-card__content{flex:1}.category-card__title{color:var(--gray-900);font-family:var(--font-headline);font-size:18px;font-weight:var(--font-weight-semibold);margin-bottom:4px}.category-card__count{color:var(--gray-500);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.category-card__arrow{color:var(--gray-300);font-size:20px;transition:all .25s ease}.category-card:hover .category-card__arrow{color:var(--coral-600);transform:translateX(4px)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.pt-12{padding-top:var(--space-12)}.pt-16{padding-top:var(--space-16)}.pt-20{padding-top:var(--space-20)}.pb-12{padding-bottom:var(--space-12)}.pb-16{padding-bottom:var(--space-16)}.pb-20{padding-bottom:var(--space-20)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-smooth),transform .6s var(--ease-smooth)}.fade-in-up.visible{opacity:1;transform:translateY(0)}.hover-lift{transition:transform .3s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}.hover-lift:hover{transform:translateY(-6px)}.skeleton{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--gray-100) 0,var(--gray-50) 50%,var(--gray-100) 100%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:1024px){:root{--container-padding-x:var(--container-padding-x-tablet)}.hero__container{gap:48px;grid-template-columns:1fr}.grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--font-size-display:36px;--font-size-h1:28px;--font-size-h2:22px;--font-size-h3:18px;--space-section:var(--space-12);--container-padding-x:var(--container-padding-x-mobile)}.header__nav{display:none}.hero{padding:48px 0}.hero__container{gap:32px}.section-header{align-items:flex-start;flex-direction:column;gap:16px}.grid--recipes{gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.grid--3,.grid--4{grid-template-columns:1fr}.btn-primary,.btn-secondary{justify-content:center;width:100%}.category-card{padding:16px}.recipe-card--featured{grid-column:span 1;grid-row:span 1}}@media (max-width:640px){.grid--recipes{grid-template-columns:1fr}.hero__actions{flex-direction:column;width:100%}.hero__actions .btn{width:100%}}@media print{.btn,.footer,.header,.nav{display:none}body{background:#fff;color:#000}.recipe-card{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}}