@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap');
:root{--wine:#401314;--cream:#E9D9CC;--rose:#BE8C91;--paper:#F6F0EA;--muted:#866f6b;--line:rgba(64,19,20,.18);--serif:Georgia,'Times New Roman',serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--wine);font:500 14px/18px var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}h1,h2,h3,p{margin-top:0}.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--wine);color:white;padding:12px 18px}.skip-link:focus{top:12px}
.site-header{height:78px;position:sticky;top:0;z-index:20;background:rgba(246,240,234,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(64,19,20,.08)}.header-inner{width:min(1320px,calc(100% - 72px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{height:100%;display:flex;align-items:center;gap:10px}.brand-mark{width:73px;height:54px;overflow:hidden;display:block;position:relative;background:white}.brand-mark img{position:absolute;width:174px;height:174px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:contain}.brand-caption{font:italic 12px/14px var(--serif);letter-spacing:.03em;max-width:64px}.primary-nav{display:flex;align-items:center;gap:clamp(22px,4vw,58px)}.primary-nav a{font-size:12px;letter-spacing:.02em;position:relative;padding:9px 0}.primary-nav a:after{content:"";position:absolute;bottom:1px;left:0;width:0;height:1px;background:var(--wine);transition:width .25s}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{width:100%}.menu-toggle{display:none;border:0;background:transparent;padding:12px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--wine);margin:6px}.section-wrap{width:min(1320px,calc(100% - 72px));margin-inline:auto}
.hero{min-height:min(720px,calc(100svh - 78px));height:690px;max-height:760px;position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:46px 7.5% 50px;background:var(--cream);overflow:hidden}.hero-copy{z-index:2;max-width:540px;padding-bottom:28px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;line-height:14px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 28px}.eyebrow-line{width:34px;height:1px;background:var(--rose)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(72px,9vw,128px);line-height:.82;margin:0 0 29px}h1 em,h2 em{font-weight:400;color:var(--rose)}.hero-intro{font:16px/24px var(--sans);max-width:360px;margin-bottom:29px;color:#593c3a}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{width:200px;height:50px;display:inline-flex;align-items:center;justify-content:space-between;padding:0 17px;font:11px/18px var(--sans);letter-spacing:.02em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-dark{color:var(--paper);background:var(--wine)}.button-dark:hover{background:#64282b}.button span{font-size:16px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;line-height:18px;border-bottom:1px solid var(--rose);padding:0 0 5px}.hero-index{margin:46px 0 0;color:var(--muted);font-size:9px;line-height:14px;letter-spacing:.11em;text-transform:uppercase}.hero-index span{color:var(--wine)}.hero-portrait{align-self:stretch;position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0}.portrait-shape{position:absolute;inset:40px 2% 0 8%;border-radius:48% 48% 0 0;background:#D2ABA2}.hero-portrait>img{position:relative;height:100%;width:min(112%,600px);object-fit:contain;object-position:center bottom;z-index:1}.portrait-caption{position:absolute;z-index:2;right:1%;top:17%;font:italic 15px/18px var(--serif);color:var(--wine);transform:rotate(6deg)}.portrait-seal{position:absolute;z-index:2;left:1%;bottom:17%;width:100px;height:100px;border:1px solid rgba(64,19,20,.5);border-radius:50%;display:grid;place-content:center;text-align:center;font:9px/13px var(--sans);letter-spacing:.12em;background:var(--cream);transform:rotate(-10deg)}.portrait-seal i{font:20px/22px var(--serif);color:var(--rose)}.scroll-cue{position:absolute;bottom:0;left:50%;width:1px;height:46px;background:rgba(64,19,20,.22)}.scroll-cue span{position:absolute;left:0;bottom:0;height:23px;width:1px;background:var(--wine);animation:scroll 1.6s ease-in-out infinite}@keyframes scroll{0%,100%{transform:translateY(-20px)}50%{transform:translateY(0)}}
.portfolio{padding:132px 6.5% 120px}.section-heading{position:relative;display:grid;grid-template-columns:1fr .72fr;align-items:end;column-gap:9%;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:20px}.section-heading .eyebrow span{margin-left:4px;color:var(--rose)}h2{font-size:clamp(54px,6vw,82px);line-height:.94;margin:0}.section-note{max-width:290px;margin:0 0 7px;color:var(--muted);font:13px/20px var(--sans)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 22px}.work-card{margin:0;min-width:0}.work-image{height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:14px;background:#eee3dc}.work-image img{width:100%;height:100%;object-fit:contain;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.work-image:hover img{transform:scale(1.035)}.work-tall .work-image{height:440px}.work-wide .work-image{height:330px}.image-olive{background:#d9d2c0}.image-cream{background:#eee3d6}.image-pink{background:#ead0d0}.image-lilac{background:#ddd6e1}.image-sand{background:#d8c5ae}.image-blue{background:#d1dde2}.image-gray{background:#d8d6d3}.image-green{background:#d2ded1}.image-rose{background:#e8d5d5}.image-dark{background:#30302e}.image-purple{background:#ddd1e7}.image-orange{background:#ecd7bf}.work-card figcaption{padding:13px 2px 0;display:flex;flex-direction:column;gap:4px}.work-card figcaption span{color:var(--muted);font-size:9px;line-height:13px;letter-spacing:.12em;text-transform:uppercase}.work-card figcaption strong{font:400 17px/22px var(--serif)}.work-archive{margin-top:52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-archive summary,.education-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:22px 2px;font:15px/20px var(--serif)}summary::-webkit-details-marker{display:none}.summary-count{font:10px/18px var(--sans);color:var(--muted)}.summary-count b{font-size:16px;font-weight:400;margin-left:14px;color:var(--wine)}.archive-grid{padding:8px 0 42px;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 16px}.archive-grid .work-image{height:255px}.archive-grid .work-card figcaption strong{font-size:15px}
.about{background:var(--wine);color:var(--paper);padding:30px 7% 34px;min-height:440px;position:relative;overflow:hidden}.about-topline,.contact-topline{display:flex;justify-content:space-between;border-bottom:1px solid rgba(233,217,204,.3);padding:0 0 15px;color:#d4b9b4;font-size:9px;line-height:14px;letter-spacing:.13em;text-transform:uppercase}.about-layout{display:grid;grid-template-columns:1fr .8fr;gap:11%;align-items:center;padding:80px 0 64px}.about h2{font-size:clamp(50px,6vw,78px)}.about h2 em,.contact h2 em{color:var(--rose)}.about-copy{max-width:390px}.about-lead{font:italic 24px/29px var(--serif);margin-bottom:18px}.about-copy>p:not(.about-lead){font:14px/22px var(--sans);color:#e0cac1;margin:0 0 22px}.link-light{color:var(--paper);border-color:var(--rose)}.about-signature{position:absolute;bottom:-38px;right:5%;color:rgba(233,217,204,.09);font:italic 96px/1 var(--serif);letter-spacing:-.06em;white-space:nowrap}.about-signature em{color:rgba(190,140,145,.15)}
.services{padding:128px 6.5% 110px}.services-heading{margin-bottom:53px}.service-list{border-top:1px solid var(--line)}.service-row{min-height:96px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:54px 1fr 160px 24px;align-items:center;gap:10px;padding:13px 4px}.service-number{font-size:10px;line-height:14px;color:var(--rose);letter-spacing:.1em}.service-copy h3{font:400 22px/26px var(--serif);margin:0 0 5px}.service-copy p{font:12px/18px var(--sans);color:var(--muted);margin:0}.service-price{text-align:right;font:italic 17px/22px var(--serif);margin:0}.service-arrow{font-size:14px;text-align:right;color:var(--rose)}.service-bottom{display:flex;align-items:center;justify-content:space-between;padding:32px 0 42px}.service-bottom p{font:italic 21px/27px var(--serif);margin:0}.service-bottom em{color:var(--rose)}.tools-row{border-top:1px solid var(--line);padding-top:26px;display:flex;align-items:flex-start;gap:35px}.tools-label{padding-top:5px;color:var(--muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.tool-tags{display:flex;gap:8px;flex-wrap:wrap}.tool-tags span{border:1px solid var(--line);padding:5px 11px;font:10px/18px var(--sans);color:#684d4a}
.education{padding:118px 6.5% 125px;background:#eee3d9}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.edu-card{background:var(--paper);display:grid;grid-template-columns:.9fr 1fr;min-height:250px}.edu-preview{min-height:250px;display:flex;align-items:center;justify-content:center;background:#e3dad3;overflow:hidden;padding:15px}.edu-preview img{width:100%;height:100%;max-height:250px;object-fit:contain;transition:transform .3s}.edu-preview:hover img{transform:scale(1.025)}.edu-details{padding:25px 20px;align-self:center}.edu-year{font-size:9px;line-height:14px;color:var(--rose);letter-spacing:.13em;text-transform:uppercase}.edu-details h3{font:400 21px/25px var(--serif);margin:9px 0}.edu-details p{font:11px/17px var(--sans);color:var(--muted);margin:0 0 15px}.edu-details .text-link{font-size:9px;gap:9px}.education-more{margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.education-more summary{font-family:var(--sans);font-size:12px}.certificate-list article{border-top:1px solid var(--line);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:17px 2px}.certificate-index{font:10px/14px var(--sans);color:var(--rose)}.certificate-list strong{font:400 17px/21px var(--serif)}.certificate-list p{font:10px/16px var(--sans);color:var(--muted);margin:4px 0 0}.certificate-list a{font-size:10px;border-bottom:1px solid var(--rose);padding-bottom:4px}.certificate-list a span{color:var(--rose);margin-left:6px}
.contact{background:var(--wine);color:var(--paper);padding:28px 7% 0}.contact-topline{color:#d4b9b4}.contact-body{display:grid;grid-template-columns:1.05fr .8fr;gap:13%;padding:78px 0 83px}.contact .eyebrow{color:#d4b9b4;margin-bottom:19px}.contact h2{font-size:clamp(52px,6vw,82px)}.contact-note{margin:20px 0 25px;color:#dfcbc3;font:13px/20px var(--sans);max-width:330px}.button-light{background:var(--cream);color:var(--wine)}.button-light:hover{background:#f3e9e0}.contact-list{align-self:center}.contact-list a{display:grid;grid-template-columns:1fr auto 18px;gap:10px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(233,217,204,.28)}.contact-list a:first-child{border-top:1px solid rgba(233,217,204,.28)}.contact-list span{color:#d4b9b4;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.contact-list strong{font:400 19px/24px var(--serif)}.contact-list i{font:normal 13px/18px var(--sans);color:var(--rose);text-align:right}.site-footer{min-height:56px;border-top:1px solid rgba(233,217,204,.28);display:flex;align-items:center;justify-content:space-between;color:#d4b9b4;font:9px/14px var(--sans);letter-spacing:.04em}.site-footer a{color:var(--paper)}:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
.cart-button{border:1px solid var(--line);color:var(--wine);background:transparent;padding:8px 12px;font-size:10px;white-space:nowrap;cursor:pointer}.cart-button span{display:inline-grid;place-items:center;margin-left:6px;background:var(--rose);color:var(--paper);border-radius:50%;width:19px;height:19px;font-size:9px}.service-row{grid-template-columns:54px 1fr 140px 110px}.add-to-cart{justify-self:end;border:0;background:transparent;color:var(--wine);cursor:pointer;padding:10px 0;font:10px/18px var(--sans);white-space:nowrap}.add-to-cart span{color:var(--rose);font-size:15px;margin-left:5px}.add-to-cart:hover{color:var(--rose)}
.order-dialog{width:min(720px,calc(100% - 32px));max-width:none;max-height:min(92vh,920px);overflow:auto;border:0;padding:34px 42px 40px;background:var(--paper);color:var(--wine);box-shadow:0 25px 90px rgba(35,10,10,.28)}.order-dialog::backdrop{background:rgba(36,13,14,.62);backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}.dialog-close{border:0;background:transparent;color:var(--wine);font:30px/30px var(--serif);cursor:pointer;padding:3px 8px}.order-dialog h2{font-size:clamp(42px,6vw,58px);margin:12px 0 20px}.order-dialog h2 em{color:var(--rose)}.cart-items{border-top:1px solid var(--line)}.cart-empty{margin:0;padding:14px 0;color:var(--muted);font:12px/18px var(--sans)}.cart-item{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:10px 0;font:15px/20px var(--serif)}.remove-item{border:0;border-bottom:1px solid var(--rose);background:transparent;color:var(--muted);padding:2px 0;font:9px/14px var(--sans);cursor:pointer}.add-more-link{display:inline-block;margin-top:11px;font:10px/18px var(--sans);border-bottom:1px solid var(--rose)}.brief-intro{margin:23px 0 22px;color:var(--muted);font:12px/18px var(--sans)}.field-label,.brief-fieldset legend{display:block;margin:17px 0 8px;font:12px/18px var(--sans);color:var(--wine)}.order-dialog input:not([type=radio]):not([type=checkbox]),.order-dialog textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:rgba(233,217,204,.2);color:var(--wine);padding:11px 12px;font:12px/18px var(--sans);resize:vertical}.order-dialog input::placeholder,.order-dialog textarea::placeholder{color:#9b8580}.brief-fieldset{border:0;margin:15px 0;padding:0}.brief-fieldset legend{width:100%;padding:0}.radio-options{display:flex;gap:10px;flex-wrap:wrap}.radio-options label{cursor:pointer}.radio-options input{position:absolute;opacity:0}.radio-options span{display:block;border:1px solid var(--line);padding:8px 12px;font:10px/18px var(--sans)}.radio-options input:checked+span{background:var(--wine);border-color:var(--wine);color:var(--paper)}.style-fieldset legend small{color:var(--muted);font-size:10px;margin-left:5px}.style-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.style-card{position:relative;cursor:pointer;min-width:0}.style-card input{position:absolute;opacity:0}.style-thumb{display:flex;height:86px;align-items:center;justify-content:center;background:var(--cream);border:1px solid transparent;padding:5px;transition:border .2s,transform .2s}.style-thumb img{width:100%;height:100%;object-fit:contain}.style-card input:checked+.style-thumb{border:2px solid var(--wine);transform:translateY(-2px)}.style-card strong,.style-card small{display:block}.style-card strong{font:11px/15px var(--serif);margin-top:6px}.style-card small{color:var(--muted);font:8px/12px var(--sans);margin-top:2px}.style-card:focus-within .style-thumb{outline:2px solid var(--rose);outline-offset:2px}.style-error{display:block;color:#9b3338;font-size:10px;min-height:14px;margin-top:4px}.submit-order{margin-top:23px;border:0;cursor:pointer}.submit-order:disabled{opacity:.45;cursor:not-allowed;transform:none}.order-help{max-width:500px;color:var(--muted);font:10px/16px var(--sans);margin:14px 0 0}.order-help a{color:var(--wine);border-bottom:1px solid var(--rose)}
@media(max-width:1000px){.section-wrap,.header-inner{width:calc(100% - 48px)}.hero{padding-inline:5%;height:610px;min-height:610px}.hero-portrait>img{width:125%}.hero h1{font-size:clamp(67px,10vw,100px)}.portfolio,.services,.education{padding-inline:4%}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-image,.work-wide .work-image{height:350px}.work-tall .work-image{height:430px}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.education-grid{grid-template-columns:1fr}.edu-card{min-height:230px}.edu-preview{min-height:230px}.edu-preview img{max-height:230px}.about,.contact{padding-inline:5%}}
@media(max-width:700px){html{scroll-padding-top:70px}.site-header{height:68px}.header-inner,.section-wrap{width:calc(100% - 32px)}.brand-mark{width:61px;height:47px}.brand-mark img{width:155px;height:155px}.brand-caption{font-size:11px}.menu-toggle{display:block;z-index:2}.primary-nav{position:absolute;inset:68px 0 auto;background:var(--paper);padding:8px 24px 24px;display:flex;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}.primary-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.primary-nav a{font-size:14px;padding:12px 0;border-bottom:1px solid rgba(64,19,20,.08)}.cart-button{padding:6px 8px;font-size:9px}.hero{height:auto;min-height:0;padding:58px 24px 0;display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:0 0 3px}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(72px,19vw,104px);margin-bottom:20px}.hero-intro{max-width:310px;font-size:14px;line-height:21px;margin-bottom:20px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:10px}.hero-index{margin:23px 0 0}.hero-portrait{height:min(118vw,475px);margin-top:-2px}.portrait-shape{inset:34px 2% 0 6%}.hero-portrait>img{width:min(120%,520px)}.portrait-caption{top:16%;right:0;font-size:12px;line-height:15px}.portrait-seal{width:77px;height:77px;font-size:7px;line-height:10px;bottom:17%;left:-2%}.portrait-seal i{font-size:16px;line-height:17px}.scroll-cue{display:none}.portfolio,.services,.education{padding:83px 5%}.section-heading{display:block;margin-bottom:33px}.section-heading .eyebrow{margin-bottom:17px}.section-note{margin:17px 0 0;max-width:350px;font-size:12px;line-height:18px}h2{font-size:clamp(48px,12vw,66px)}.work-grid{gap:27px 12px}.work-image,.work-wide .work-image{height:250px;padding:9px}.work-tall .work-image{height:330px}.work-card figcaption{padding-top:9px}.work-card figcaption strong{font-size:15px;line-height:19px}.work-card figcaption span{font-size:8px}.work-archive{margin-top:34px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.archive-grid .work-image{height:220px}.summary-count{font-size:9px}.about{width:100%;padding:24px 24px 30px;min-height:0}.about-layout{display:block;padding:51px 0 65px}.about h2{font-size:clamp(48px,12vw,65px);margin-bottom:26px}.about-copy{max-width:420px}.about-lead{font-size:21px;line-height:26px}.about-copy>p:not(.about-lead){font-size:13px;line-height:20px}.about-signature{font-size:66px;bottom:-24px;right:3%}.services-heading{margin-bottom:30px}.service-row{grid-template-columns:29px minmax(0,1fr);gap:5px 9px;padding:15px 0;min-height:0}.service-copy h3{font-size:18px;line-height:22px}.service-copy p{font-size:10px;line-height:15px;max-width:300px}.service-price{font-size:14px;grid-column:2;grid-row:2;text-align:left;margin-top:4px}.add-to-cart{grid-column:2;grid-row:3;justify-self:start;padding:5px 0 0}.service-bottom{gap:18px;align-items:flex-start;flex-direction:column;padding:25px 0 30px}.service-bottom p{font-size:19px;line-height:24px}.tools-row{display:block;padding-top:20px}.tools-label{display:block;margin-bottom:12px}.tool-tags{gap:6px}.tool-tags span{font-size:9px;padding:3px 8px}.education-grid{gap:15px}.edu-card{grid-template-columns:.85fr 1fr;min-height:195px}.edu-preview{min-height:195px;padding:8px}.edu-preview img{max-height:195px}.edu-details{padding:15px 12px}.edu-details h3{font-size:18px;line-height:21px;margin:7px 0}.edu-details p{font-size:9px;line-height:14px;margin-bottom:9px}.edu-details .text-link{font-size:8px}.certificate-list article{grid-template-columns:25px 1fr;gap:8px}.certificate-list article>a{grid-column:2;justify-self:start}.certificate-list strong{font-size:15px}.contact{width:100%;padding:24px 24px 0}.contact-body{display:block;padding:51px 0 50px}.contact h2{font-size:clamp(49px,12vw,68px)}.contact-note{font-size:12px}.contact-list{margin-top:43px}.contact-list a{grid-template-columns:1fr auto 15px;padding:15px 0}.contact-list strong{font-size:16px}.site-footer{min-height:68px;gap:10px;flex-wrap:wrap}.site-footer span:last-child{display:none}.order-dialog{padding:23px 20px 27px}.style-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.style-thumb{height:74px}.style-card strong{font-size:10px}.style-card small{font-size:7px}.order-dialog h2{font-size:43px}.cart-item{font-size:13px}}
@media(max-width:410px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-index{margin-top:18px}.work-grid{grid-template-columns:1fr}.work-image,.work-wide .work-image{height:330px}.work-tall .work-image{height:385px}.archive-grid{grid-template-columns:1fr}.archive-grid .work-image{height:290px}.edu-card{grid-template-columns:1fr}.edu-preview{min-height:190px}.edu-preview img{max-height:190px}.edu-details{padding:17px}.contact-list strong{font-size:14px}.contact-list{margin-top:33px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(min-width:701px) and (max-width:1000px){.service-row{grid-template-columns:42px minmax(0,1fr) 112px 94px}.add-to-cart{font-size:9px}}
/* The supplied logo is a transparent PNG; let the page background show through. */
.brand-mark{background:transparent;border-radius:0}

/* Full-width opening and a portrait that meets the right edge of the rose shape. */
.hero.section-wrap{width:100%;max-width:none;margin:0;border-radius:0;padding:46px 0 0 clamp(30px,7vw,118px);grid-template-columns:minmax(0,1fr) minmax(0,1.06fr)}
.hero-copy{padding-bottom:50px}
.hero-portrait{overflow:hidden;justify-content:flex-end}
.portrait-shape{inset:40px 0 0 8%;border-radius:48% 0 0 0;background:var(--rose)}
.hero-portrait>img{width:auto;height:95%;max-width:none;object-fit:contain;object-position:right bottom;transform:none;transform-origin:right bottom}

/* Featured work follows the reference's one-large, four-small, four-below hierarchy. */
.portfolio.section-wrap{width:100%;max-width:none;margin:0;padding:58px clamp(28px,6vw,90px) 78px;border-radius:0;background:var(--wine);color:var(--cream)}
.portfolio .section-heading{display:block;margin:0 0 27px}
.portfolio .section-heading h2{font-size:clamp(28px,3vw,38px);line-height:1.08;letter-spacing:-.025em;color:var(--cream)}
.portfolio .section-heading h2 em{color:var(--cream)}
.portfolio-subtitle{margin:6px 0 0;font-size:9px;line-height:14px;letter-spacing:.13em;text-transform:uppercase;color:#d3b8b2}
.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,240px) 310px;gap:24px}
.featured-grid .work-card,.archive-grid .work-card{display:flex;flex-direction:column;min-height:0;padding:13px;border-radius:24px;background:var(--cream);color:var(--wine);box-shadow:0 9px 22px rgba(20,0,0,.18)}
.featured-grid .work-card:first-child{grid-column:span 2;grid-row:span 2}
.featured-grid .work-image,.archive-grid .work-image{flex:1;height:auto;min-height:0;width:100%;padding:0;border-radius:14px;background:#d4c4b9}
.featured-grid .work-image img,.archive-grid .work-image img{width:100%;height:100%;max-width:none;object-fit:cover}
.featured-grid .work-card figcaption,.archive-grid .work-card figcaption{padding:0 3px;gap:3px}
.featured-grid .work-card figcaption span,.archive-grid .work-card figcaption span{color:#866963;font-size:8px;line-height:11px}
.featured-grid .work-card figcaption strong{font:italic 14px/17px var(--serif)}
.featured-grid .work-card:first-child figcaption{min-height:43px;flex-direction:row;justify-content:space-between;align-items:end;gap:18px}
.featured-grid .work-card:first-child figcaption strong{font-size:21px;line-height:24px;text-align:right}
.featured-grid .work-card:nth-child(2) img{object-position:center 38%}
.featured-grid .work-card:nth-child(6) img{object-position:center top}
.featured-grid .work-card:nth-child(9) img{object-position:26% center}
.work-archive{border-color:rgba(233,217,204,.3)}
.work-archive summary{color:var(--cream)}
.work-archive .summary-count,.work-archive .summary-count b{color:#d3b8b2}
.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.archive-grid .work-card{height:260px}
.archive-grid .work-image{height:auto}
.archive-grid .work-card figcaption strong{font-size:13px;line-height:16px}

/* A staggered editorial spread for the tall digital and print projects. */
.portfolio-editorial{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:74px;padding:42px clamp(24px,4vw,64px) 50px;border-radius:30px;background:var(--rose);color:var(--wine)}
.editorial-column{display:flex;flex-direction:column;gap:24px;min-width:0}
.editorial-intro{min-height:126px;padding:4px 0 0}
.editorial-intro span{font-size:9px;line-height:14px;letter-spacing:.12em;text-transform:uppercase}
.editorial-intro h3{margin:13px 0 0;font:400 35px/34px var(--serif);letter-spacing:-.035em}
.editorial-intro h3 em{font-weight:400}
.editorial-column figure{margin:0;display:flex;flex-direction:column;gap:7px}
.editorial-column figcaption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:9px;line-height:14px}
.editorial-column figcaption span{font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.editorial-column figcaption strong{font:italic 14px/18px var(--serif);text-align:right}
.editorial-column figure a{display:block;height:340px;border-radius:17px;overflow:hidden;background:var(--cream)}
.editorial-column figure a img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.editorial-column figure a:hover img{transform:scale(1.025)}
.editorial-column .editorial-long a{height:525px}
.editorial-column-right .editorial-menu{align-self:flex-end;width:78%}
.editorial-column-right .editorial-menu a{height:489px}
.editorial-column-right .editorial-long{align-self:flex-end;width:78%}

/* The second supplied portrait belongs with the introduction. */
.about{padding-bottom:0}
.about-layout{grid-template-columns:.65fr 1fr .84fr;gap:5%;padding:48px 0 0;align-items:center}
.about-portrait{height:350px;align-self:end;display:flex;align-items:end;justify-content:center;overflow:hidden;border-radius:50% 50% 0 0;background:var(--rose)}
.about-portrait img{height:109%;width:auto;max-width:none;object-fit:contain;object-position:center bottom}

@media(max-width:1000px){
  .hero.section-wrap{padding-left:clamp(24px,5vw,54px);grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
  .featured-grid{grid-template-rows:repeat(2,210px) 270px;gap:17px}
  .featured-grid .work-card{padding:10px;border-radius:19px}
  .featured-grid .work-card figcaption strong{font-size:12px;line-height:15px}
  .featured-grid .work-card:first-child figcaption strong{font-size:17px;line-height:20px}
  .portfolio-editorial{gap:22px}
  .about-layout{grid-template-columns:.7fr 1fr .85fr;gap:3%}
}
@media(max-width:700px){
  .hero.section-wrap{display:flex;flex-direction:column;max-height:none;padding:47px 0 0 22px}
  .hero-copy{flex:0 0 auto;padding:0 22px 10px 0}
  .hero-portrait{display:block;flex:0 0 auto;width:calc(100% + 22px);height:auto;margin:0 0 0 -22px;padding-top:16px}
  .portrait-shape{inset:27px 0 0 20%}
  .hero-portrait>img{display:block;width:100%;height:auto;max-width:100%;max-height:none;transform:none}
  .portfolio.section-wrap{padding:52px 18px 64px}
  .portfolio .section-heading{margin-bottom:24px}
  .portfolio .section-heading h2{font-size:31px}
  .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:390px repeat(2,225px) repeat(2,245px);gap:14px}
  .featured-grid .work-card:first-child{grid-column:span 2;grid-row:span 1}
  .featured-grid .work-card:nth-child(n+6){height:245px}
  .featured-grid .work-card:first-child figcaption{min-height:37px}
  .portfolio-editorial{grid-template-columns:1fr;padding:24px 18px;gap:28px;margin-top:48px;border-radius:23px}
  .editorial-intro{min-height:105px}
  .editorial-column-right .editorial-menu,.editorial-column-right .editorial-long{width:100%}
  .editorial-column-right .editorial-menu a{height:470px}
  .editorial-column .editorial-long a{height:470px}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about{padding-bottom:0}
  .about-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:45px 0 0}
  .about-layout h2{grid-column:1/-1;margin:0}
  .about-copy{align-self:start}
  .about-portrait{height:265px}
}
@media(max-width:440px){
  .featured-grid{grid-template-rows:330px repeat(2,190px) repeat(2,215px);gap:10px}
  .featured-grid .work-card{padding:8px;border-radius:16px}
  .featured-grid .work-image{border-radius:11px}
  .featured-grid .work-card figcaption strong{font-size:11px;line-height:13px}
  .featured-grid .work-card:first-child figcaption strong{font-size:16px;line-height:18px}
  .featured-grid .work-card:nth-child(n+6){height:215px}
  .featured-grid .work-card figcaption span{font-size:7px}
  .editorial-column .editorial-long a{height:400px}
  .editorial-column-right .editorial-menu a{height:390px}
  .about-layout{grid-template-columns:1fr;gap:14px}
  .about-layout h2{grid-column:auto}
  .about-portrait{width:min(78%,290px);height:280px;justify-self:end}
}

/* Keep the original menu spacing while narrowing the header content. */

.project-section-title{margin:0 0 12px;font:500 11px/18px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.project-related[hidden]{display:none}
.project-related{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.project-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.project-related-grid a{display:block;min-width:0;padding:8px 8px 10px;border-radius:16px;background:var(--cream);color:var(--wine)}
.project-related-grid img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:11px}
.project-related-grid span{display:block;padding:9px 4px 0;font:italic 14px/18px var(--serif)}
@media(max-width:700px){.project-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-related-grid span{font-size:12px;line-height:16px}}

/* Final spacing requested for the two calls to action and portfolio captions. */
.hero-actions .button,.service-bottom .button{width:170px}
.portfolio-editorial{background:var(--cream)}
.featured-grid .work-card figcaption,.archive-grid .work-card figcaption{padding:10px 3px 2px}

/* Five cropped treatments of the same Sobi wordmark from the credited source. */
.style-thumb{height:112px}
.logo-sample{display:block;width:min(100%,100px);aspect-ratio:1;border-radius:11px;background-color:#fff;background-image:url('assets/logo-styles/sobi-03.jpg');background-repeat:no-repeat;background-size:auto 300%}
.logo-sample-editorial{background-position:86% 30%}
.logo-sample-minimal{background-position:14% 30%}
.logo-sample-geometric{background-position:50% 30%}
.logo-sample-bright{background-position:14% 76%}
.logo-sample-natural{background-position:50% 76%}
.logo-reference{margin:9px 0 0;color:var(--muted);font:9px/15px var(--sans)}
.logo-reference a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){.style-thumb{height:94px}.logo-sample{width:min(100%,80px)}}
/* Rounded component shapes and the requested compact 18px text rhythm. */
.hero,.about,.education,.contact{border-radius:28px}.brand-mark{border-radius:50%}.cart-button,.button,.add-to-cart,.radio-options span{border-radius:999px}.add-to-cart{border:1px solid var(--rose);padding:7px 13px}.work-image,.edu-card,.edu-preview,.style-thumb{border-radius:18px}.edu-card{overflow:hidden}.service-list{border:0}.service-row{border:1px solid var(--line);border-radius:20px;margin:10px 0;padding:15px 20px}.order-dialog{border-radius:26px}.dialog-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%}.order-dialog input:not([type=radio]):not([type=checkbox]){border-radius:999px}.order-dialog textarea{border-radius:14px}.style-thumb{overflow:hidden}.style-card strong{line-height:14px}.hero-intro{font-size:14px;line-height:18px}.section-note{font-size:12px;line-height:18px}.about-lead{font-size:20px;line-height:18px}.about-copy>p:not(.about-lead){font-size:13px;line-height:18px}.work-card figcaption strong{font-size:16px;line-height:18px}.service-copy h3{font-size:20px;line-height:18px}.service-copy p{font-size:11px;line-height:18px}.edu-details h3{font-size:18px;line-height:18px}.edu-details p{font-size:10px;line-height:18px}.contact-note{font-size:12px;line-height:18px}

/* Compact header and calls to action. */
html{scroll-padding-top:64px}
.site-header{height:56px}
.button,.hero-actions .button,.service-bottom .button{width:158px}
.contact .button{width:184px}
.submit-order{width:178px}

/* Project buttons sit inside the caption without covering the work. */
.featured-grid .work-card figcaption{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:8px;min-height:55px;padding:9px 3px 2px}
.featured-grid .work-card:first-child figcaption{min-height:55px;align-items:flex-end}
.work-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.featured-grid .work-card figcaption strong{font:italic 14px/17px var(--serif);text-align:left}
.featured-grid .work-card:first-child figcaption strong{font-size:20px;line-height:23px;text-align:left}
.work-details-button{display:inline-flex;flex:none;align-items:center;justify-content:space-between;gap:10px;min-width:100px;height:30px;padding:0 11px;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:var(--cream);font:500 9px/18px var(--sans);white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.work-details-button:hover,.work-details-button:focus-visible{background:transparent;color:var(--wine)}
.featured-grid .work-card figcaption .work-details-button span{color:inherit;font:13px/18px var(--sans);letter-spacing:0}
.editorial-column figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px}
.editorial-column figcaption>span{grid-column:1;grid-row:1}
.editorial-column figcaption>strong{grid-column:1;grid-row:2;text-align:left}
.editorial-column figcaption>.work-details-button{grid-column:2;grid-row:1/3;justify-self:end}
.editorial-column figcaption .work-details-button span{color:inherit;font:13px/18px var(--sans);letter-spacing:0}

/* Details for an individual portfolio piece. */
.project-dialog{width:min(1040px,calc(100% - 32px));max-width:none;max-height:min(94vh,980px);overflow:auto;border:0;border-radius:26px;padding:30px 34px 36px;background:var(--paper);color:var(--wine);box-shadow:0 25px 90px rgba(35,10,10,.28)}
.project-dialog::backdrop{background:rgba(36,13,14,.62);backdrop-filter:blur(3px)}
.project-dialog .dialog-top{margin-bottom:21px}
.project-dialog .eyebrow{margin:0}
.project-dialog-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:31px;align-items:start}
.project-gallery{min-width:0}
.project-gallery-stage{position:relative;display:grid;place-items:center;min-height:360px;height:min(59vh,570px);overflow:hidden;border-radius:18px;background:var(--cream)}
.project-gallery-stage>a{display:grid;place-items:center;width:100%;height:100%;cursor:zoom-in}
.project-gallery-stage img{display:block;width:100%;height:100%;object-fit:contain}
.project-gallery-arrow{position:absolute;top:50%;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--wine);color:var(--cream);font:29px/1 var(--serif);cursor:pointer;transform:translateY(-50%);box-shadow:0 4px 14px rgba(25,0,0,.2)}
.project-gallery-prev{left:12px}.project-gallery-next{right:12px}
.project-gallery-arrow:hover,.project-gallery-arrow:focus-visible{background:var(--rose);color:var(--wine)}
.project-gallery-arrow[hidden],.project-gallery-thumbs[hidden]{display:none}
.project-gallery-meta{display:flex;align-items:baseline;gap:12px;margin:11px 0 12px;font:11px/18px var(--sans);color:var(--muted)}
.project-gallery-meta span:first-child{flex:none;color:var(--wine)}
.project-gallery-thumbs{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin}
.project-gallery-thumb{flex:none;width:64px;height:64px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:11px;background:var(--cream);cursor:pointer}
.project-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.project-gallery-thumb.is-active{border-color:var(--wine)}
.project-category{display:block;margin:4px 0 9px;color:var(--muted);font:500 10px/18px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.project-dialog h2{font-size:clamp(34px,4vw,52px);line-height:1.02;margin:0 0 27px}
.project-fact{padding:16px 0;border-top:1px solid var(--line)}
.project-fact h3{font:500 10px/18px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}
.project-fact p{font:17px/22px var(--serif);margin:0}
.project-fact small{display:block;margin-top:6px;color:var(--muted);font:10px/16px var(--sans)}
.project-fact small:empty{display:none}

@media(max-width:700px){
  html{scroll-padding-top:64px}
  .site-header{height:56px}
  .primary-nav{inset:56px 0 auto}
  .featured-grid .work-card figcaption strong{font-size:12px;line-height:15px}
  .featured-grid .work-card:first-child figcaption strong{font-size:16px;line-height:18px}
  .work-details-button{min-width:88px;height:28px;padding:0 9px;font-size:8px}
  .project-dialog{padding:22px 20px 27px}
  .project-dialog-layout{grid-template-columns:1fr;gap:19px}
  .project-gallery-stage{min-height:280px;height:min(47vh,450px)}
  .project-dialog h2{margin-bottom:16px}
}
@media(max-width:440px){
  .featured-grid{grid-template-rows:330px repeat(2,209px) repeat(2,235px)}
  .featured-grid .work-card:nth-child(n+6){height:235px}
  .featured-grid .work-card figcaption{flex-wrap:wrap;align-items:flex-start;min-height:70px;gap:5px}
  .featured-grid .work-card:first-child figcaption{min-height:52px;flex-wrap:nowrap;align-items:flex-end}
  .featured-grid .work-card figcaption .work-info{flex-basis:100%}
  .featured-grid .work-card:first-child figcaption .work-info{flex-basis:auto}
  .featured-grid .work-card figcaption .work-details-button{margin-left:auto}
  .featured-grid .work-card:first-child figcaption strong{font-size:15px;line-height:17px}
}
@media(min-width:1001px){.site-header .header-inner{width:min(1040px,calc(100% - 72px))}}
.button,.hero-actions .button,.service-bottom .button{width:132px;min-width:132px;padding-inline:12px;font-size:10px;white-space:nowrap}
.contact .button{width:172px;min-width:172px}
.hero-actions .button,.service-bottom .button,.contact .button{height:40px}

.image-viewer{width:calc(100% - 32px);max-width:1440px;height:min(94dvh,1000px);max-height:none;padding:52px 24px 20px;overflow:hidden;border:0;border-radius:24px;background:#251011;color:var(--paper);box-shadow:0 28px 100px rgba(0,0,0,.5)}
.image-viewer[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px}
.image-viewer::backdrop{background:rgba(15,4,5,.88)}
.image-viewer-close{position:absolute;right:18px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:var(--paper);font:26px/1 var(--serif);cursor:pointer}
.image-viewer-stage{position:relative;min-width:0;min-height:0;padding-inline:54px}
.image-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:var(--cream);color:var(--wine);font:30px/1 var(--serif);cursor:pointer}
.image-viewer-prev{left:0}.image-viewer-next{right:0}
.image-viewer-arrow[hidden]{display:none}
.image-viewer-figure{height:100%;width:100%;min-width:0;min-height:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}
.image-viewer-canvas{position:relative;min-width:0;min-height:0}
.image-viewer-canvas img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.image-viewer-figure figcaption{width:100%;display:flex;justify-content:space-between;gap:15px;font:11px/18px var(--sans);color:var(--cream)}
.image-viewer-figure figcaption span:last-child{flex:none}
.image-viewer-galleries{display:flex;gap:22px;min-width:0;border-top:1px solid rgba(233,217,204,.24);padding-top:12px}
.image-viewer-group{flex:1;min-width:0}
.image-viewer-group.is-single{flex:0 0 116px}
.image-viewer-group h3{margin:0 0 8px;font:500 11px/18px var(--sans);color:var(--cream)}
.image-viewer-thumbs{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 6px;scrollbar-width:thin;scrollbar-color:var(--rose) transparent}
.image-viewer-thumbs button{flex:none;width:80px;height:65px;padding:3px;border:2px solid transparent;border-radius:10px;background:var(--cream);cursor:pointer}
.image-viewer-thumbs img{width:100%;height:100%;object-fit:contain;border-radius:5px}
.image-viewer-thumbs button.is-active{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose)}
.project-gallery-stage>a{position:absolute;inset:0;min-height:0;min-width:0}
.project-dialog.has-related .project-gallery-stage{height:min(43dvh,400px);min-height:220px}
.project-dialog.has-related .project-related{margin-top:18px;padding-top:16px}

.tools-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.6fr);gap:28px;align-items:center;margin-top:24px;padding:30px 32px;background:var(--cream);border:1px solid rgba(64,19,20,.12);border-radius:24px}
.tools-row .tools-label{display:block;margin:0;flex:none;color:var(--wine);font:400 32px/1.05 var(--serif);letter-spacing:-.025em;text-transform:none}
.tools-label em{font-weight:400}
.tools-row .tool-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tools-row .tool-tags span{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 10px;border:0;border-radius:999px;background:var(--wine);color:var(--cream);font:500 13px/18px var(--sans);text-align:center}
@media(max-width:700px){
  .image-viewer{width:100%;height:100dvh;padding:50px 12px 12px;border-radius:0}
  .image-viewer[open]{gap:12px}
  .image-viewer-stage{padding-inline:32px}
  .image-viewer-arrow{width:28px;height:32px;font-size:24px}
  .image-viewer-figure figcaption{font-size:10px;line-height:14px}
  .image-viewer-galleries{gap:10px}
  .image-viewer-group.is-single{flex-basis:92px}
  .image-viewer-group h3{font-size:10px}
  .image-viewer-thumbs button{width:64px;height:56px}
  .tools-row{grid-template-columns:1fr;gap:20px;padding:24px 18px}
  .tools-row .tools-label{font-size:30px}
  .tools-row .tool-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tools-row .tool-tags span{font-size:11px;min-height:46px}
}

/* Service descriptions open independently; the cart remains a separate action. */
.service-list .service-row{grid-template-columns:minmax(0,1fr) 110px;align-items:start;gap:16px;min-height:0;padding:15px 20px}
.service-details{min-width:0}
.service-details>summary{display:grid;grid-template-columns:42px minmax(0,1fr) 125px 20px;align-items:center;gap:12px;min-height:64px;list-style:none;cursor:pointer;border-radius:10px}
.service-details>summary::-webkit-details-marker{display:none}
.service-details .service-copy h3{margin:0 0 5px;font:400 22px/24px var(--serif)}
.service-details .service-copy p{max-width:none;font:500 11px/18px var(--sans)}
.service-details .service-price{grid-column:auto;grid-row:auto;text-align:right;margin:0;font:italic 17px/22px var(--serif);white-space:nowrap}
.service-disclosure{display:grid;place-items:center;width:20px;height:24px;color:var(--wine);font:20px/24px var(--sans)}
.service-disclosure::before{content:'+'}
.service-details[open] .service-disclosure::before{content:'−'}
.service-details>summary:hover .service-copy h3{color:#85484d}
.service-description{margin:14px 32px 5px 54px;padding-top:15px;border-top:1px solid var(--line);max-width:680px}
.service-description p{margin:0;font:500 12px/18px var(--sans);color:#68413f}
.service-description .service-deliverables{margin-top:13px;color:var(--muted);font-size:10px;line-height:18px}
.service-row>.add-to-cart{grid-column:2;grid-row:1;align-self:start;justify-self:end;margin-top:14px;padding:7px 13px}
@media(max-width:700px){
  .service-list .service-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}
  .service-details>summary{grid-template-columns:24px minmax(0,1fr) 20px;gap:6px 10px}
  .service-details .service-copy h3{font-size:19px;line-height:22px}
  .service-details .service-copy p{font-size:10px;line-height:18px}
  .service-details .service-price{grid-column:2;grid-row:2;text-align:left;font-size:15px}
  .service-disclosure{grid-column:3;grid-row:1}
  .service-description{margin:12px 0 4px 34px;padding-top:12px}
  .service-description p{font-size:11px;line-height:18px}
  .service-row>.add-to-cart{grid-column:1;grid-row:2;justify-self:start;margin:3px 0 0 34px}
}

/* Vector arrows stay monochrome on iOS and other platforms. */
.arrow-icon{display:inline-block;width:14px;height:14px;flex:0 0 14px;vertical-align:middle}
.cart-button .cart-label{display:inline;width:auto;height:auto;margin:0;background:none;color:inherit;border-radius:0;font:inherit}
.cart-icon{display:none}
@media(max-width:700px){
  .site-header .header-inner{gap:8px}
  .menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:10px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
  .menu-toggle span{width:24px;height:1.5px;margin:0;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
  .cart-button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:8px;border:0;border-radius:0}
  .cart-button .cart-label{display:none}
  .cart-icon{display:block;width:25px;height:25px}
  .cart-button #cart-count{position:absolute;top:0;right:0;margin:0;width:16px;height:16px;font-size:8px}
}
