@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root { --ink:#24201b; --paper:#f8f3e9; --cream:#ede2cc; --rust:#a74d2c; --pine:#35463a; --line:#d8cbb4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,Arial,sans-serif; line-height:1.55; }
img { display:block; width:100%; height:100%; object-fit:cover; }
.site-header { min-height:90px; padding:20px 6vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font:600 clamp(1.35rem,2vw,1.7rem)/1 Fraunces,serif; letter-spacing:-.04em; }
.brand span { display:block; margin-top:5px; font:10px/1.2 "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
nav { display:flex; gap:26px; } nav a { color:var(--ink); font-size:.83rem; text-decoration:none; } nav a:hover { color:var(--rust); }
.hero { min-height:650px; padding:7vw 10vw; display:grid; grid-template-columns:1fr .82fr; gap:7vw; align-items:center; background:var(--cream); }
.eyebrow { margin:0 0 14px; color:var(--rust); font:11px "DM Mono",monospace; letter-spacing:.12em; }
.hero .eyebrow,
.story > .section-heading .eyebrow,
.bears > .section-heading .eyebrow,
.archive .eyebrow,
.legacy .eyebrow,
.together .eyebrow { font-size:clamp(1rem,1.45vw,1.3rem); line-height:1.35; letter-spacing:.09em; }
h1,h2 { margin:0; font-family:Fraunces,Georgia,serif; font-weight:400; letter-spacing:-.055em; line-height:.98; }
h1 { font-size:clamp(4rem,8.6vw,8.2rem); } h2 { font-size:clamp(2.7rem,5vw,5rem); }
.intro { max-width:470px; margin:30px 0; font-size:1.1rem; }
.button { display:inline-flex; align-items:center; gap:24px; padding:15px 19px; background:var(--rust); color:#fff; text-decoration:none; font-size:.9rem; } .button span { font-size:1.25rem; }
.hero-photo { margin:0; position:relative; height:min(64vw,540px); }.hero-photo img { filter:saturate(.88); }.hero-photo figcaption { position:absolute; bottom:0; right:0; padding:7px 10px; background:var(--paper); font-size:.72rem; }
.statement { padding:92px 12vw; background:var(--pine); color:#fff; text-align:center; }.statement p { max-width:900px; margin:auto; font:clamp(2rem,4vw,3.8rem)/1.16 Fraunces,serif; letter-spacing:-.04em; }
.section { padding:120px 10vw; }.section-heading { max-width:850px; }.section-heading.centered { margin:0 auto 55px; text-align:center; }.section-heading.centered > p:last-child { max-width:550px; margin:24px auto 0; }
.story-grid { display:grid; grid-template-columns:.78fr 1.2fr; gap:8vw; margin-top:60px; align-items:start; }.portrait { margin:0; height:520px; position:sticky; top:120px; }.story-copy { padding-top:15px; font-size:1.08rem; line-height:1.75; }.story-copy p { margin:0 0 25px; }.story-copy .story-lede { font:1.28rem/1.55 Fraunces,serif; color:var(--pine); }.note { padding-top:22px; border-top:1px solid var(--line); font-size:.9rem; color:#6f6254; }
.story-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:65px; }.story-gallery figure { margin:0; }.story-gallery img { height:285px; }.story-gallery figcaption { padding-top:10px; font-family:Fraunces,serif; font-size:1.05rem; }
.service { background:var(--pine); color:var(--paper); }.service .eyebrow { color:#e1b492; font-size:clamp(1rem,1.45vw,1.3rem); line-height:1.35; }.service .section-heading > p:last-child { color:#d8d0c3; }.service-grid { display:grid; grid-template-columns:1.15fr .9fr .9fr; gap:18px; }.service-grid figure { margin:0; }.service-grid img { height:390px; }.service-grid .service-jay img { object-fit:contain; padding:12px; background:#26372d; }.service-grid .full-bear-photo img { object-fit:contain; padding:12px; background:#26372d; }.service-grid figcaption { padding:12px 0; color:#ddd2c2; font-family:Fraunces,serif; font-size:1.05rem; }
.bears { background:#f1e8d8; }.bear-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.bear-grid figure { margin:0; background:#fff; }.bear-grid img { height:330px; object-fit:contain; padding:12px; background:#f8f4ec; }.bear-grid .snoopy-clean img { object-fit:cover; object-position:center 49%; padding:0; }.bear-grid figcaption { padding:14px; border-top:1px solid #eee4d4; font-family:Fraunces,serif; font-size:1.25rem; }.shop-placeholder { margin:45px auto 0; max-width:680px; display:flex; justify-content:center; flex-wrap:wrap; gap:16px 30px; text-align:center; }.shop-placeholder a { color:var(--rust); font-weight:600; }
.ebay-status { min-height:1.4em; color:#6f6254; font:600 .78rem/1.4 "DM Mono",monospace; letter-spacing:.04em; }.ebay-listing a { display:block; height:100%; color:var(--ink); text-decoration:none; }.ebay-listing figcaption { display:grid; gap:7px; }.ebay-listing figcaption span { line-height:1.25; }.ebay-listing figcaption strong { color:var(--rust); font:600 1rem Inter,Arial,sans-serif; }.ebay-listing figcaption small { color:#6f6254; font:600 .72rem "DM Mono",monospace; text-transform:uppercase; }.ebay-listing a:hover small { color:var(--rust); }.ebay-listing a:focus-visible { outline:3px solid var(--rust); outline-offset:3px; }
.archive { background:var(--ink); color:var(--paper); }.archive-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; margin-bottom:55px; }.archive-heading > p { margin:0; color:#cfc4b3; font-size:1.02rem; }.archive-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:235px; gap:14px; }.archive-grid figure { position:relative; margin:0; overflow:hidden; background:#171411; }.archive-grid img { transition:transform .55s ease,opacity .55s ease; opacity:.9; }.archive-grid figure:hover img { transform:scale(1.025); opacity:1; }.archive-grid figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; gap:12px; padding:28px 15px 13px; background:linear-gradient(transparent,rgba(0,0,0,.75)); font:1rem Fraunces,serif; }.archive-grid figcaption span { color:#e1b492; font:10px "DM Mono",monospace; }.archive-tall { grid-row:span 2; }.archive-wide { grid-column:span 2; }
.legacy { display:grid; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:center; }.legacy-images { display:grid; grid-template-columns:1fr 1fr; gap:14px; height:490px; }.legacy-images img:first-child { margin-top:55px; height:380px; }.legacy-copy p:not(.eyebrow) { font-size:1.05rem; }
.together { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:center; background:#d5c5ad; }.together figure { margin:0; }.together p:not(.eyebrow) { max-width:540px; font-size:1.05rem; }.together-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:250px 190px; gap:12px; }.together-gallery figure:first-child { grid-row:span 2; }.together-gallery img { height:100%; }.together-gallery .noel-flowers img { object-position:center 32%; }
.contact { padding:115px 10vw; text-align:center; background:var(--rust); color:white; }.contact .eyebrow { color:#f3d8a6; font-size:clamp(1rem,1.45vw,1.3rem); line-height:1.35; }.contact h2 { max-width:700px; margin:auto; }.contact > p:not(.eyebrow):not(.small) { max-width:550px; margin:25px auto 32px; }.button.light { background:var(--paper); color:var(--ink); }.small { margin:28px 0 0; font-size:.72rem; opacity:.75; } footer { display:flex; justify-content:space-between; padding:21px 6vw; font-size:.75rem; color:#6a6054; }
.featured { background:#e7d9c3; }.featured > .section-heading .eyebrow { font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1.3; }.featured-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.feature-card { margin:0; background:var(--paper); }.feature-card img { height:310px; object-fit:cover; }.feature-card > div { padding:20px; }.feature-name { margin:0 0 10px; color:var(--rust); font:11px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.feature-comment { margin:0; font:1.25rem/1.25 Fraunces,serif; }.feature-invite { display:flex; align-items:center; min-height:310px; background:var(--pine); color:var(--paper); text-align:left; }.feature-invite .eyebrow { margin-bottom:12px; color:#e1b492; font-size:clamp(1.2rem,2vw,1.6rem); text-align:center; }.feature-invite h3 { margin:0 0 15px; font:2rem/1 Fraunces,serif; text-align:center; }.feature-invite > div > p { margin:0; color:#ddd2c2; text-align:center; }.feature-invite .submit-link { display:inline-flex; justify-content:center; margin-top:8px; border:0; background:var(--rust); color:white; cursor:pointer; }
.story-carousel { grid-column:span 2; min-width:0; background:var(--paper); outline-offset:5px; }.story-slide { display:grid; grid-template-columns:1.15fr .85fr; min-height:430px; }.story-slide[hidden] { display:none; }.story-slide img { width:100%; height:430px; }.story-slide > div { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,55px); }.carousel-controls { display:flex; align-items:center; justify-content:center; gap:18px; min-height:64px; border-top:1px solid var(--line); background:#f8f2e8; }.carousel-button { width:42px; height:42px; border:1px solid #b9aa94; border-radius:50%; background:var(--paper); color:var(--pine); font-size:1.25rem; cursor:pointer; }.carousel-button:hover { background:var(--pine); color:var(--paper); }.carousel-button:focus-visible,.story-carousel:focus-visible { outline:3px solid var(--rust); outline-offset:3px; }.carousel-status { min-width:55px; margin:0; text-align:center; color:#6f6254; font:12px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.submission-form { display:grid; gap:8px; margin-top:22px; }.submission-form label { color:#f7efe2; font-size:.88rem; font-weight:600; }.submission-form input,.submission-form textarea { width:100%; padding:11px 12px; border:1px solid #7f8d82; border-radius:0; background:#f8f3e9; color:var(--ink); font:1rem Inter,Arial,sans-serif; }.submission-form textarea { resize:vertical; }.submission-form input[type="file"] { padding:9px; font-size:.86rem; }.submission-form input:focus,.submission-form textarea:focus { outline:3px solid #e1b492; outline-offset:1px; }.submission-form .form-note { margin:4px 0 0; color:#ddd2c2; font-size:.78rem; line-height:1.4; }
@media (max-width:900px) { .archive-grid { grid-template-columns:repeat(2,1fr); }.archive-heading { grid-template-columns:1fr; gap:24px; } }
@media (max-width:720px) { .site-header { padding:18px 6vw; }.brand span, nav { display:none; }.hero,.story-grid,.legacy,.together { grid-template-columns:1fr; }.hero { padding:70px 8vw; }.hero-photo { height:460px; }.section { padding:80px 8vw; }.portrait { height:410px; position:static; }.story-copy { padding-top:0; }.story-gallery { grid-template-columns:1fr; }.story-gallery img { height:360px; }.service-grid { grid-template-columns:1fr; }.service-grid img { height:370px; }.bear-grid { grid-template-columns:1fr; }.bear-grid img { height:380px; }.archive-grid { grid-template-columns:1fr 1fr; grid-auto-rows:190px; }.archive-tall { grid-row:span 2; }.archive-wide { grid-column:span 2; }.legacy-images { height:380px; }.legacy-images img:first-child { height:290px; }.together-gallery { grid-template-columns:1fr 1fr; grid-template-rows:310px 170px; }.together-gallery figure:first-child { grid-column:span 2; grid-row:auto; }.featured-grid { grid-template-columns:1fr; }.story-carousel { grid-column:auto; }.story-slide { grid-template-columns:1fr; min-height:0; }.story-slide img { height:330px; }.story-slide > div { min-height:180px; } footer { gap:15px; flex-direction:column; } }

/* Individual photo framing keeps important faces, captions, and complete bears visible. */
.archive-grid .navy-years img,
.archive-grid .award-winning-photo img { object-fit:contain; background:#241f1a; }
.archive-grid .navy-years img { height:calc(100% - 46px); object-position:left top; }
.archive-grid .navy-years figcaption { padding:12px 15px; background:#171411; }
.archive-grid .country-bear-photo img { object-position:center top; }
.archive-grid .recognition-photo img { object-position:center top; }
.together-gallery .noel-flowers img { object-position:center 16%; }
.together-gallery .family-group-photo img { object-fit:contain; object-position:center center; background:#c8b69d; }
.feature-card.pooh-feature img { object-fit:contain; object-position:center center; background:#171411; }
