/* Larger company navigation, independent artwork columns and detailed pages. */
html{scroll-behavior:smooth;scroll-padding-top:100px}
.cn-header,.cn-header-auth{height:auto;min-height:80px;background:#fff;border-bottom:1px solid #e1e6d7}
.cn-header-inner,.cn-header-auth .cn-header-inner{width:calc(100% - 64px);max-width:1500px;min-height:80px;margin:auto;gap:28px}
.cn-header .cn-brand,.cn-header-auth .cn-brand{font-size:27px;line-height:1.2;margin-left:0!important}
.cn-brand-mark,.cn-header-auth .cn-brand-mark{width:40px;height:40px}
.cn-header .cn-brand-mark svg{width:24px;height:24px}
.cn-main-nav{display:flex;gap:24px;align-items:center;margin-left:auto}
.cn-main-nav a,.cn-main-nav summary{font-size:14px;font-weight:600;white-space:nowrap}
.cn-header-actions .cn-button{font-size:13px;min-height:44px;padding:12px 18px}
.cn-header-actions{flex-shrink:0;gap:14px}
.cn-account-link b,.cn-account-link small{font-size:12px}
.cn-service-menu{position:relative}
.cn-service-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:16px 0}
.cn-service-menu summary::-webkit-details-marker{display:none}
.cn-service-menu>div{position:absolute;top:100%;left:-16px;width:240px;z-index:50;padding:10px;background:#fff;border:1px solid #e1e6d7;border-radius:14px;box-shadow:0 16px 40px #171a121a}
.cn-service-menu>div a{display:block;padding:12px;border-radius:8px;color:#171A12}
.cn-service-menu>div a:hover{background:#f0f8da}
.cn-header{position:sticky;top:0;z-index:50}
body:has(.portal-shell) .cn-header{height:auto;min-height:80px}
body:has(.portal-shell) .cn-header-inner{max-width:1500px;width:calc(100% - 64px);min-height:80px}
.portal-shell{min-height:calc(100vh - 80px)}
.portal-sidebar{top:80px;height:calc(100vh - 80px)}
.cn-page-index{top:104px}
.cn-assignment-layout .portal-panel-body{padding:24px}
.cn-mobile-menu{display:none}
.cn-mobile-menu summary{list-style:none;cursor:pointer;padding:10px;border:1px solid #e1e6d7;border-radius:8px}
.cn-mobile-menu summary::-webkit-details-marker{display:none}
.cn-mobile-menu summary svg{display:block;width:22px;height:22px}
.cn-mobile-menu nav{position:absolute;left:16px;right:16px;top:100%;padding:18px;background:white;border:1px solid #e1e6d7;border-radius:12px;box-shadow:0 16px 40px #171a121a;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.cn-mobile-menu nav a{font-size:14px;padding:10px;color:#171A12}
@media(max-width:900px){.cn-mobile-menu{display:block;margin-left:auto}.cn-header-actions{margin-left:0}}
@media(max-width:650px){body:has(.portal-shell) .cn-header{min-height:70px}body:has(.portal-shell) .cn-header-inner{min-height:70px;width:calc(100% - 32px)}.portal-sidebar{position:static;top:auto;height:auto}.portal-shell{min-height:calc(100vh - 70px)}}
.cn-catalog-hero{height:auto;min-height:380px;padding:38px 0;overflow:clip}
.cn-catalog-hero>.cn-container{height:auto;max-width:1400px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.cn-catalog-title{width:100%;max-width:100%;padding:0}
.cn-catalog-title h1{font-size:48px;line-height:1.08;letter-spacing:-.05em}
.cn-catalog-title p{font-size:16px;line-height:1.5;max-width:600px}
.cn-catalog-art{position:relative;left:auto;right:auto;top:auto;margin:0;width:100%;height:auto;max-width:none;aspect-ratio:876/318;z-index:1;opacity:1}
.cn-art-info{left:0;top:19%;width:34%;padding:16px}
.cn-art-info p{font-size:12px;line-height:1.45;margin-bottom:14px}
.cn-art-info small{font-size:10px;line-height:1.5}
.cn-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;width:calc(100% - 64px);max-width:1440px;height:auto;min-height:370px;padding:32px 0;align-items:center}
.cn-hero-grid>div:first-child{width:100%;max-width:100%}
.cn-product-stage{position:relative;top:auto;left:auto;right:auto;margin:0;width:100%;max-width:none;height:auto;aspect-ratio:844/332}
.cn-results-hero{height:auto;min-height:250px;padding-top:30px;padding-bottom:24px}
.cn-results-art{top:10px}
.cn-results-title h1{max-width:850px}
.cn-footer{padding:54px 0 0;background:#fff;border-top:1px solid #e1e6d7}
.cn-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:56px;padding-bottom:38px}
.cn-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.cn-footer-grid b{font-size:15px;font-weight:750;margin-bottom:5px}
.cn-footer p,.cn-footer a:not(.cn-brand){font-size:14px!important;line-height:1.65}
.cn-footer p{margin:6px 0;color:#626b59;max-width:340px}
.cn-footer .cn-brand{font-size:25px}
.cn-footer-bottom{padding:24px 0;font-size:13px;line-height:1.6;gap:24px;align-items:center}
.cn-footer-bottom>span:last-child{display:flex;gap:22px;flex-wrap:wrap}
.cn-detail-hero{padding:64px 0;background:radial-gradient(ellipse at 85% 10%,#eaffb1,transparent 58%),#f8f9f2;border-bottom:1px solid #e1e6d7}
.cn-detail-hero h1{font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-.045em;max-width:1000px;margin:20px 0}
.cn-detail-hero p{font-size:19px;line-height:1.65;max-width:850px;color:#58624e;margin:0 0 24px}
.cn-detail-hero .cn-button{min-height:46px;font-size:14px;display:inline-flex;gap:12px}
.cn-detail-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding-top:48px;padding-bottom:64px;max-width:1320px}
.cn-page-index{position:sticky;top:104px;align-self:start;border:1px solid #e1e6d7;border-radius:14px;padding:22px;background:#fff}
.cn-page-index>b{display:block;font-size:14px;margin-bottom:14px}
.cn-page-index a{display:block;font-size:14px;line-height:1.5;padding:9px 0;color:#58624e}
.cn-detail-content{min-width:0}
.cn-detail-section{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid #e1e6d7;scroll-margin-top:28px}
.cn-detail-section h2{font-size:28px;letter-spacing:-.025em;line-height:1.3;margin:0 0 18px}
.cn-detail-section p,.cn-detail-section li{font-size:16px;line-height:1.8;color:#58624e}
.cn-detail-section p{margin:0 0 16px;max-width:940px}
.cn-detail-section ul{padding-left:22px}
.cn-detail-section a{color:#40581c;text-decoration:underline;text-underline-offset:3px}
.cn-detail-section .cn-button{color:#171A12;text-decoration:none;margin-top:10px}
.cn-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}
.cn-service-card{padding:24px;border:1px solid #e1e6d7;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:start;gap:12px}
.cn-service-card>svg{width:32px;height:32px;color:#526629}
.cn-service-card h3{font-size:19px;margin:0}
.cn-service-card p{font-size:14px;line-height:1.65;margin:0;color:#58624e}
.cn-service-card a{margin-top:auto;font-weight:700;font-size:14px;color:#40581c}
.cn-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cn-contact-card{border:1px solid #e1e6d7;border-radius:14px;background:white;padding:24px}
.cn-contact-card h3{margin:0 0 10px;font-size:20px}
.cn-contact-card p{margin-bottom:12px}
.cn-inventory-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.cn-inventory-summary>span{padding:14px 20px;background:white;border:1px solid #e1e6d7;border-radius:12px;font-size:14px}
.admin-search{max-width:100%;flex-wrap:wrap;align-items:center}
.admin-search input{flex:1;min-width:180px;max-width:600px}
.admin-search select{min-width:220px;max-width:100%;min-height:46px;font-size:14px}
.admin-search .btn{flex-shrink:0;min-height:46px;font-size:13px}
.cn-assignment-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:24px}
.cn-assignment-form{display:grid;gap:18px}
.cn-assignment-form label{display:grid;gap:8px;font-size:14px;font-weight:600}
.cn-assignment-form input,.cn-assignment-form select{width:100%;min-height:48px;font-size:14px}
.cn-assignment-form p,.cn-inventory-note{font-size:14px;line-height:1.7;color:#58624e}
.cn-assignment-form .btn{justify-self:start;min-height:46px;font-size:14px}
.control-field>span{font-size:12px!important;letter-spacing:.03em!important}
.portal-table th{font-size:12px}
.portal-table td,.portal-table td b{font-size:14px}
.portal-table .table-sub{font-size:12px;line-height:1.5;margin-top:5px}
.admin-actions{gap:10px}
.admin-actions .btn,.admin-actions .danger-link{font-size:12px;min-height:38px}
@media(max-width:1450px){.cn-main-nav{gap:16px}.cn-main-nav a,.cn-main-nav summary{font-size:13px}.cn-header-inner{gap:20px}.cn-header .cn-brand{font-size:24px}.cn-header-actions .cn-buy-top{display:none}.cn-footer-grid{gap:32px}}
@media(max-width:1100px){.cn-main-nav{gap:12px}.cn-main-nav>a:nth-last-child(2){display:none}.cn-catalog-hero>.cn-container{gap:28px}.cn-catalog-title h1{font-size:42px}.cn-art-info{padding:12px}.cn-art-info p{font-size:10px}.cn-art-info small{font-size:9px}.cn-art-info{display:block}.cn-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-assignment-layout{grid-template-columns:1fr}}
@media(max-width:900px){.cn-main-nav{display:none}.cn-catalog-hero>.cn-container{grid-template-columns:1fr}.cn-catalog-art{max-width:650px;margin:auto}.cn-catalog-title{max-width:700px}.cn-catalog-hero{padding:32px 0}.cn-art-info p{font-size:12px}.cn-art-info small{font-size:10px}.cn-hero-grid{grid-template-columns:1fr;padding:32px 0}.cn-product-stage{max-width:650px;margin:auto}.cn-detail-layout{grid-template-columns:1fr;gap:28px}.cn-page-index{position:static}.cn-page-index a{display:inline-block;margin-right:18px}.cn-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cn-header,.cn-header-auth{min-height:70px}.cn-header-inner,.cn-header-auth .cn-header-inner{min-height:70px;width:calc(100% - 32px);gap:10px}.cn-header .cn-brand,.cn-header-auth .cn-brand{font-size:21px}.cn-brand-mark,.cn-header-auth .cn-brand-mark{width:34px;height:34px}.cn-header-actions .cn-button{font-size:12px;padding:10px}.cn-header-actions{gap:8px}.cn-header-auth .cn-help-link{font-size:12px}.cn-hero-grid{width:calc(100% - 32px)}.cn-catalog-title h1{font-size:36px}.cn-catalog-title p{font-size:15px}.cn-art-info{padding:10px}.cn-art-info p{font-size:10px;margin-bottom:8px}.cn-art-info small{font-size:8px}.cn-footer{padding-top:36px}.cn-footer-grid{gap:30px 20px}.cn-footer-grid>div:first-child{grid-column:1/-1}.cn-footer-bottom{align-items:flex-start}.cn-detail-hero{padding:38px 0}.cn-detail-hero p{font-size:16px}.cn-detail-layout{padding-top:30px;padding-bottom:36px}.cn-detail-section h2{font-size:24px}.cn-service-cards,.cn-contact-grid{grid-template-columns:1fr}.cn-detail-section p,.cn-detail-section li{font-size:15px}.portal-table td{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
