:root{--ink:#285d90;--ink-deep:#244c73;--paper:#e8e4df;--pale:#f5f1ed;--ivory:#fffcf8;--pink:#f09a9e;--mist:#deebf1;--line:#d9dad9;--copy:#536a79;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink-deep);background:var(--pale);font:15px/1.95 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;transition:opacity .22s}a:hover{opacity:.72}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p{margin-top:0}h2,h3{font-family:var(--serif)}p{margin-bottom:0}::selection{background:#f09a9e85}.skip-link{position:absolute;top:-100px;left:12px;z-index:1000;padding:10px;background:#fff;color:var(--ink)}.skip-link:focus{top:10px}.container{width:min(1190px,calc(100% - 76px));margin-inline:auto}.section{padding:115px 0}.section-eyebrow{font:600 12px/1.4 Georgia,serif;color:var(--ink);letter-spacing:.33em}.section-heading h2{font-weight:600;font-size:clamp(29px,3vw,40px);color:var(--ink);line-height:1.55;letter-spacing:.11em;margin:22px 0 20px}.section-heading p{font-size:13px;letter-spacing:.05em;line-height:2.35;color:var(--copy)}.section-heading--center{text-align:center}.outline-button{display:inline-flex;gap:28px;align-items:center;border:1px solid #7e9fb6;border-radius:40px;padding:12px 24px;color:var(--ink);font-size:12px;letter-spacing:.09em;white-space:nowrap}.outline-button span,.arrow-link span{font-size:16px}.sm-only{display:none}
/* Transparent official logo; asset is only trimmed of empty outer pixels. */
.site-header{height:104px;background:var(--paper);position:relative;z-index:30}.header-inner{height:100%;width:min(1350px,calc(100% - 88px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.header-brand{width:206px;flex:0 0 206px}.header-brand img{width:100%;height:auto}.site-nav{display:flex;align-items:center;gap:39px;font:600 11px/1.3 Georgia,serif;letter-spacing:.12em;color:#666c6c}.site-nav a:last-child{color:var(--ink)}.site-nav a:last-child span{margin-left:3px}.menu-button{display:none}
/* Hero: the user's exact, single composite illustration is not redrawn or altered. */
.hero{background:radial-gradient(ellipse at center 40%,#f5f2ed 0%,#ebe7e1 68%,#e8e4df 100%);position:relative;overflow:hidden}.hero-inner{max-width:1540px;margin:auto;min-height:795px;position:relative}.hero-art{position:relative;z-index:1;width:min(1440px,100%);height:auto;display:block;margin:0 auto;transform:translateY(43px)}.hero-small{position:absolute;top:65px;left:max(32px,calc((100% - 1260px)/2));font:12px Georgia,serif;letter-spacing:.2em;color:#3d6591;z-index:4}.hero-small span{display:block;margin-top:7px;font:11px var(--sans);letter-spacing:.13em}.hero-vertical{position:absolute;z-index:3;top:42px;left:49.4%;transform:translateX(-50%);display:flex;flex-direction:row;gap:11px;flex-direction:row-reverse;font:700 clamp(20px,2.35vw,34px)/1.45 var(--serif);letter-spacing:.13em;color:var(--ink);text-shadow:0 1px 0 #e8e4df,1px 0 0 #e8e4df,-1px 0 0 #e8e4df}.hero-vertical span{writing-mode:vertical-rl;white-space:nowrap}.hero-side{position:absolute;top:75px;right:max(32px,calc((100% - 1260px)/2));z-index:4;font:600 12px/2.4 var(--serif);letter-spacing:.08em;text-align:right}.hero-scroll{position:absolute;z-index:5;bottom:21px;left:50%;transform:translateX(-50%);font:10px Georgia,serif;letter-spacing:.3em;color:var(--ink);text-align:center}.hero-scroll i{display:block;width:1px;height:32px;background:var(--ink);margin:13px auto 0}.hero-wave{position:absolute;bottom:-1px;width:100%;height:56px;background:var(--ivory);clip-path:ellipse(75% 100% at 50% 100%);z-index:1}
/* 2026 featured collaboration */
.featured{background:var(--ivory);padding-top:116px;padding-bottom:118px}.collaboration{display:flex;gap:30px;align-items:center;justify-content:center;margin:37px 0 53px}.gst-logo{width:93px;height:95px;object-fit:contain}.collab-cross{font:200 39px/1 Georgia,serif;color:var(--pink)}.collab-necotto{width:204px;height:auto}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.product-card{background:#fff;border:1px solid #ece7e1;box-shadow:0 12px 43px #102e400a;overflow:hidden}.product-image{height:380px;display:grid;place-items:center;position:relative;overflow:hidden}.product-card--green .product-image{background:radial-gradient(circle at 50% 34%,#f3f6eb 0%,#e8eee5 58%,#dfe8db 100%)}.product-card--red .product-image{background:radial-gradient(circle at 50% 34%,#faf0ed 0%,#f4e6e2 62%,#efd9d7 100%)}.product-image::after{content:"";width:78%;height:1px;background:#ffffffaa;position:absolute;bottom:29px;left:11%;z-index:1}.product-image img[data-remote-product]{position:absolute;inset:22px;height:calc(100% - 44px);width:calc(100% - 44px);object-fit:contain;opacity:0;z-index:2;transition:opacity .35s ease;filter:drop-shadow(0 12px 16px #1a292c17)}.product-image img.is-loaded{opacity:1}.image-placeholder{position:relative;z-index:0;display:flex;flex-direction:column;align-items:center;text-align:center;color:#547267}.product-card--red .image-placeholder{color:#a2636c}.image-placeholder small{font:10px/1.3 Georgia,serif;letter-spacing:.2em}.image-placeholder strong{font:italic 45px/1.3 Georgia,serif;letter-spacing:.06em;margin:10px 0}.image-placeholder em{font:italic 13px/1.3 Georgia,serif;letter-spacing:.06em}.product-content{padding:29px 34px 38px}.product-topline{display:flex;justify-content:space-between;gap:10px;font:10px/1.5 Georgia,serif;letter-spacing:.14em;color:#82939a}.product-content h3{font:italic 34px/1.3 Georgia,serif;letter-spacing:.055em;color:var(--ink);margin:18px 0 7px}.product-content .product-subtitle{font:600 17px/1.7 var(--serif);color:var(--ink);letter-spacing:.05em;margin-bottom:17px}.product-content p:not(.product-subtitle){font-size:13px;line-height:2.1;color:var(--copy);min-height:80px}.arrow-link{display:inline-flex;gap:27px;align-items:center;border-bottom:1px solid #8aa4b7;padding-bottom:7px;margin-top:17px;font-size:11px;color:var(--ink);letter-spacing:.09em}.credit{text-align:center;font:italic 11px Georgia,serif;color:#98a1a8;margin-top:27px;letter-spacing:.04em}
/* About uses typography, not generated cats. */
.about{background:var(--paper);padding:120px 0}.about-grid{display:grid;grid-template-columns:.96fr 1fr;gap:110px;align-items:center}.about-visual{height:408px;position:relative;overflow:hidden;border:1px solid #d5ccc5;background:linear-gradient(145deg,#f0eeea,#e7e1dc);display:flex;align-items:center;justify-content:center}.about-letter{position:absolute;left:-23px;bottom:-109px;font:italic 430px/.9 Georgia,serif;color:#ddd8d2;user-select:none}.about-vertical{display:flex;gap:13px;flex-direction:row-reverse;z-index:1;color:var(--ink);font:700 30px/1.5 var(--serif);letter-spacing:.16em}.about-vertical span{writing-mode:vertical-rl;white-space:nowrap}.about-script{position:absolute;right:30px;bottom:21px;color:#d5838a;font:italic 22px/1.25 Georgia,serif;transform:rotate(-9deg)}.about-content h2{font:600 34px/1.75 var(--serif);color:var(--ink);letter-spacing:.12em;margin:18px 0 27px}.about-content p{font-size:14px;color:#556d7d;line-height:2.6;letter-spacing:.06em;margin:0 0 9px}.about-caption{font:italic 20px Georgia,serif;color:#d58690;letter-spacing:.03em;margin-top:35px}
/* Selected original project photographs */
.projects{background:#fffdf9;padding-top:128px;padding-bottom:110px}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.projects-heading .outline-button{margin-bottom:8px}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.project-media{width:100%;aspect-ratio:4/4.7;overflow:hidden;background:#f3f1ed}.project-media img{height:100%;width:100%;object-fit:cover;transition:transform .45s ease}.project:hover .project-media img{transform:scale(1.025)}.project:nth-child(1) img{object-position:50% 50%}.project:nth-child(2) img{object-position:50% 50%}.project:nth-child(3) img{object-position:50% 48%}.project:nth-child(4) img{object-position:48% 50%}.project-number{font:italic 19px Georgia,serif;color:#de8f96;margin-top:21px}.project-number span{font:10px Georgia,serif;letter-spacing:.12em;color:#8292a1;margin-left:8px}.project h3{font:600 17px/1.6 var(--serif);letter-spacing:.03em;color:var(--ink);margin:9px 0 12px}.project p{font-size:12px;color:#778792;line-height:2.15;letter-spacing:.025em}.projects-foot{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:48px;font:italic 14px Georgia,serif;color:#79909f}.projects-foot a{font:600 12px var(--sans);letter-spacing:.06em;color:var(--ink);border-bottom:1px solid #94adbd;padding-bottom:3px}
/* Companion media */
.media{background:var(--mist);padding:110px 0}.media-grid{display:grid;grid-template-columns:1fr .9fr;gap:110px;align-items:center}.media h2{font:italic clamp(53px,6vw,80px)/1.2 Georgia,serif;letter-spacing:.035em;color:var(--ink);margin:19px 0 20px}.media h3{font:600 20px/1.7 var(--serif);letter-spacing:.08em;color:var(--ink);margin-bottom:17px}.media p{font-size:13px;line-height:2.45;color:#617d90;letter-spacing:.05em;max-width:470px;margin-bottom:29px}.media-board{min-height:320px;border:1px solid #b8cbd7;background:radial-gradient(ellipse at center,#f7fbfb,#e9f1f5);box-shadow:0 0 0 10px #ffffff33,0 22px 60px #41668414;padding:40px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:18px;color:var(--ink);text-align:center;position:relative}.media-board:before{content:"";position:absolute;inset:13px;border:1px solid #c8d7e0}.media-board-kicker{font:10px Georgia,serif;letter-spacing:.24em}.media-board strong{font:italic 65px/1.25 Georgia,serif;letter-spacing:.02em}.media-divisions{display:flex;gap:19px;justify-content:center;font:10px Georgia,serif;letter-spacing:.1em}.media-line{width:36px;height:1px;background:#aebdc8}.media-board p{font:600 14px/1.9 var(--serif);margin:0;color:var(--ink);letter-spacing:.08em}
.news{background:var(--ivory);padding:100px 0 110px}.news-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.news-heading h2{margin-bottom:0}.text-only-link{font-size:12px;color:var(--ink);border-bottom:1px solid #9bb2c1;padding-bottom:5px}.news-list{border-top:1px solid var(--line)}.news-entry{display:grid;grid-template-columns:155px 90px minmax(0,1fr) 24px;gap:23px;align-items:center;padding:24px 5px;border-bottom:1px solid var(--line)}.news-entry time,.news-date-text{font:12px Georgia,serif;color:#8699a6}.news-date-text{font-size:11px;white-space:nowrap}.news-category{border:1px solid #a6bac6;border-radius:20px;font:10px Georgia,serif;letter-spacing:.04em;text-align:center;padding:3px 8px;color:#6e8495}.news-label{font-size:13px;letter-spacing:.045em;color:#476278}.news-chevron{font-size:21px;color:var(--ink)}
.contact{background:#285d90;color:#f8f4f1;overflow:hidden;position:relative;padding:110px 0}.contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:center}.contact .section-eyebrow{color:#e5edf4}.contact h2{font:600 35px/1.6 var(--serif);letter-spacing:.11em;margin:19px 0 18px}.contact p{color:#e8edf1;font-size:13px;line-height:2.35;max-width:600px}.contact-cta{display:flex;align-items:center;flex-direction:column;gap:13px}.contact-button{border:1px solid #ecf1f5;border-radius:30px;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:300px;padding:15px 25px;font-size:13px;letter-spacing:.075em}.contact-cta>span{font-size:11px;color:#c7dbe8}.contact-decoration{position:absolute;z-index:0;right:-15px;bottom:-285px;font:italic 670px/.9 Georgia,serif;color:#ffffff0c;pointer-events:none}
.footer{background:var(--paper);padding:54px 0 27px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{width:210px;flex-shrink:0}.footer-top nav{display:flex;flex-wrap:wrap;gap:21px;font:10px Georgia,serif;letter-spacing:.12em;color:#506c81}.footer-social{font:italic 13px Georgia,serif;color:var(--ink)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cfd2d4;margin-top:42px;padding-top:17px;font-size:10px;color:#8393a0;letter-spacing:.06em}
@media(min-width:1650px){.hero-art{width:1470px}.hero-inner{min-height:760px}.hero-vertical{top:65px}}
@media(max-width:1100px){.container{width:min(100% - 56px,1040px)}.site-nav{gap:24px}.hero-inner{min-height:620px}.hero-small,.hero-side{display:none}.hero-vertical{top:43px;font-size:25px}.hero-art{transform:translateY(105px)}.hero-scroll{bottom:24px}.about-grid{gap:50px}.projects-grid{gap:16px}.project-number span{display:block;margin:7px 0 0}.media-grid{gap:45px}}
@media(max-width:720px){html{scroll-padding-top:70px}.container{width:calc(100% - 44px)}.section{padding:78px 0}.section-eyebrow{font-size:10px;letter-spacing:.26em}.section-heading h2{font-size:26px;margin:15px 0}.section-heading p{font-size:12px}.sm-only{display:inline}.site-header{height:74px}.header-inner{width:calc(100% - 37px)}.header-brand{width:147px;flex:0 0 147px}.menu-button{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;cursor:pointer;z-index:32}.menu-button span{height:2px;width:24px;background:var(--ink);transition:transform .2s}.menu-button.is-open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#f3eeeb;border-top:1px solid #e0d8d3;padding:16px 26px 22px;box-shadow:0 13px 18px #1233;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:11px 6px;border-bottom:1px solid #dcd9d6;font-size:13px}.hero{min-height:525px}.hero-inner{min-height:515px;display:flex;flex-direction:column;align-items:center}.hero-small,.hero-side{display:none}.hero-vertical{position:relative;top:auto;left:auto;transform:none;margin:27px 0 0;gap:11px;font-size:22px;line-height:1.15;min-height:176px}.hero-vertical span{writing-mode:vertical-rl}.hero-art{position:relative;transform:none;width:100%;margin:-3px 0 0}.hero-scroll{bottom:28px;font-size:9px}.hero-scroll i{height:19px;margin-top:8px}.hero-wave{height:28px}.featured{padding:79px 0 90px}.collaboration{margin:27px 0 30px;gap:16px}.gst-logo{width:76px;height:70px}.collab-cross{font-size:29px}.collab-necotto{width:144px}.featured-grid{grid-template-columns:1fr;gap:23px}.product-image{height:295px}.product-content{padding:24px 25px 30px}.product-content h3{font-size:30px;margin:12px 0}.product-content .product-subtitle{font-size:15px}.product-content p:not(.product-subtitle){min-height:0;font-size:12px}.credit{font-size:10px;line-height:1.8}.about{padding:83px 0}.about-grid{grid-template-columns:1fr;gap:33px}.about-visual{height:262px}.about-letter{font-size:325px;bottom:-80px}.about-vertical{font-size:23px}.about-script{font-size:18px;right:15px}.about-content h2{font-size:26px;margin:13px 0 19px}.about-content p{font-size:12px;line-height:2.55}.about-caption{font-size:17px;margin-top:22px}.projects{padding:82px 0}.projects-heading{display:block;margin-bottom:30px}.projects-heading .outline-button{margin-top:24px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:31px 15px}.project-media{aspect-ratio:4/5}.project-number{font-size:17px;margin-top:12px}.project-number span{font-size:9px;white-space:normal}.project h3{font-size:13px;margin:7px 0 8px}.project p{font-size:10px;line-height:2.1}.projects-foot{margin-top:38px;flex-direction:column;gap:6px}.media{padding:77px 0}.media-grid{grid-template-columns:1fr;gap:43px}.media h2{font-size:56px}.media h3{font-size:17px}.media p{font-size:12px}.media-board{min-height:245px;padding:22px}.media-board strong{font-size:52px}.media-board-kicker{font-size:8px}.media-divisions{gap:8px;font-size:9px}.news{padding:77px 0}.news-heading{align-items:start;flex-direction:column;gap:5px}.news-heading h2{font-size:26px}.news-entry{grid-template-columns:1fr auto;gap:10px;padding:17px 0}.news-entry time,.news-date-text{grid-column:1;font-size:10px}.news-category{grid-column:2;grid-row:1;justify-self:end;font-size:9px}.news-label{grid-column:1;grid-row:2;font-size:12px;line-height:1.8}.news-chevron{grid-column:2;grid-row:2}.contact{padding:80px 0 83px}.contact-grid{grid-template-columns:1fr;gap:27px}.contact h2{font-size:28px}.contact p{font-size:12px}.contact-cta{align-items:stretch}.contact-button{min-width:0;font-size:12px}.contact-cta>span{text-align:center}.footer{padding:41px 0 21px}.footer-top{align-items:flex-start;flex-direction:column;gap:25px}.footer-brand{width:165px}.footer-top nav{gap:15px;font-size:10px}.footer-bottom{margin-top:31px;flex-direction:column;align-items:flex-start;gap:8px;font-size:9px}}
@media(max-width:390px){.hero{min-height:488px}.hero-inner{min-height:478px}.hero-vertical{font-size:20px;min-height:160px}.hero-scroll{bottom:24px}.product-image{height:260px}.image-placeholder strong{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* User-supplied CAT GREEN / CAT RED artwork, shown in full at every screen width. */
.featured .product-image{height:auto;aspect-ratio:4/3}
.featured .product-image::after{display:none}
.featured .product-image img.product-visual{width:100%;height:100%;object-fit:contain}
