/* Editorial photography, November 2026. Locally hosted responsive images. */
:root{--accent:#2454cc;--ink:#171c24;--paper:#f7f5f1;--muted:#5f6570}
body{color:var(--ink)}
header{border-bottom:1px solid #deded8;background:var(--paper)}
.topline{background:#172330;color:#fff}.topline a{color:inherit}
.header-main{min-height:92px!important}.header-search .search{box-shadow:none}
.nav{border-top:1px solid #dcdedc}.nav>a{font-weight:600}
.visual-hero{position:relative;isolation:isolate;overflow:hidden;background:#1c2c32!important;color:white;padding:72px 0 38px!important}
.visual-hero .hero-scene{position:absolute;inset:0;z-index:-2;margin:0;pointer-events:none}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.visual-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,24,30,.88) 0%,rgba(12,24,30,.76) 37%,rgba(12,24,30,.18) 100%);z-index:-1;pointer-events:none}
.visual-hero>.wrap{position:relative}.visual-hero h1{font-size:clamp(40px,4.7vw,72px);max-width:850px;line-height:1.07;letter-spacing:-.045em;color:white;text-wrap:balance;margin-top:16px}
.visual-hero h1>span{font-size:.45em;line-height:1.35;letter-spacing:-.02em;font-weight:450;max-width:660px;margin-top:22px;color:#f3f5f5}
.visual-hero .hero-heading{grid-template-columns:1fr;min-height:260px}.visual-hero .brand-hero{display:none}
.visual-hero .eyebrow{color:#d4e2e9;letter-spacing:.13em}.visual-hero .lead,.visual-hero .intro{color:#f2f4f4;max-width:780px}
.visual-hero .intro{grid-template-columns:1fr}.visual-hero .intro p{margin:8px 0}
.visual-hero .search{color:var(--ink);border:0;border-radius:12px;box-shadow:0 14px 45px #0003;padding:10px;margin-top:32px}
.search .button{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:7px}
.visual-hero .chips a{color:white;background:#ffffff14;border:1px solid #ffffff55;border-radius:100px;backdrop-filter:blur(8px)}
.visual-hero .chips a:hover{background:#ffffff28}.visual-hero .demo-note{color:#e7e9ec;max-width:850px;line-height:1.7}
.visual-hero .photo-label{font-size:10px;color:#d6e1e7;letter-spacing:.04em;margin-top:18px}
.section{padding-block:72px}h2{text-wrap:balance;letter-spacing:-.035em}.section-title{margin-bottom:28px}
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.category-tile{position:relative;padding:0 0 24px;min-height:0;background:white;border:1px solid #e3e5e3;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #101c2406;transition:transform .2s ease,box-shadow .2s ease}
.category-tile:hover{transform:translateY(-4px);border-color:#bdc9d6;box-shadow:0 16px 38px #101c2412}
.category-tile .tile-photo{display:block;margin:0 0 20px;overflow:hidden;background:#e3e8e6}
.tile-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .35s ease}
.category-tile:hover img{transform:scale(1.035)}
.category-tile>h3,.category-tile>h2,.category-tile>p,.category-tile>.category-number{margin-left:22px;margin-right:22px}
.category-tile h3,.category-tile h2{font-size:18px;line-height:1.35}.category-tile p{font-size:13px;line-height:1.65;color:var(--muted)}
.category-tile .category-icon{position:absolute;top:12px;right:12px;display:grid;place-items:center;background:#ffffffed;border-radius:50%;width:36px;height:36px;margin:0;color:#172330;box-shadow:0 2px 10px #0001}
.category-tile .category-icon svg{display:none}.category-tile .category-icon>span{font-size:21px;line-height:1}
.category-number{font-size:11px;letter-spacing:.08em;color:#677585}.off{background:#f1f3f2}
.button{border-radius:7px}.badge{background:#eaf0ff;color:#234799}.notice{border-color:var(--accent)}blockquote{border-color:var(--accent)}.buy-art{border-radius:16px;transform:none}.buy-art strong{background:#dce6ff}
.tips>a{border-radius:12px}.offer{border-radius:12px}.photo-banner{margin:0 0 32px;overflow:hidden;border-radius:14px}.photo-banner img{display:block;width:100%;height:auto;max-height:380px;object-fit:cover}
.partner-strip{margin-block:32px 0;padding:30px;border-radius:12px;background:#eaf0ff;display:flex;justify-content:space-between;gap:25px;align-items:center;color:#172330}.partner-strip h2{font-size:23px;margin:0 0 8px}.partner-strip p{font-size:14px;max-width:760px;margin:0}.partner-strip a{flex-shrink:0;background:var(--accent);color:#fff;padding:13px 18px;border-radius:7px;text-decoration:none;font-weight:650;font-size:13px}
.photo-credits{font-size:11px;padding-top:15px}.photo-credits a{color:inherit}.image-credit-list li{margin-bottom:20px;overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5589ff;outline-offset:4px}
@media(min-width:1101px){.category-grid>.category-tile:nth-child(1),.category-grid>.category-tile:nth-child(2){grid-column:span 2}.category-grid>.category-tile:nth-child(-n+2) .tile-photo img{aspect-ratio:2.4}.category-grid>.category-tile:nth-child(-n+2) h3{font-size:24px}.category-grid>.category-tile:nth-child(-n+2) p{font-size:15px}}
@media(max-width:1100px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-hero{padding-top:52px!important}.visual-hero h1{font-size:52px}.visual-hero .hero-heading{min-height:230px}}
@media(max-width:700px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-tile>h3,.category-tile>h2,.category-tile>p,.category-tile>.category-number{margin-left:14px;margin-right:14px}.category-tile h3,.category-tile h2{font-size:16px}.category-tile p{font-size:12px}.visual-hero{padding:40px 0 28px!important}.visual-hero:after{background:linear-gradient(90deg,#0c181ee8,#0c181e88)}.visual-hero h1{font-size:clamp(36px,8vw,49px)}.visual-hero h1>span{font-size:23px;line-height:1.35}.visual-hero .hero-heading{min-height:0}.visual-hero .search{margin-top:28px}.hero-scene img{object-position:65% center}.partner-strip{flex-direction:column;align-items:flex-start;padding:24px}.section{padding-block:48px}.header-main{min-height:76px!important}.category-tile .tile-photo{margin-bottom:14px}.visual-hero .intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.category-tile:hover,.category-tile:hover img{transform:none}}
@media(max-width:600px){.nav{gap:0 16px;min-height:48px;padding-block:2px}.nav>a:nth-last-child(2){display:none}.nav .menu{min-width:0;flex:1}.nav>a{min-height:44px}}
